On Wed, May 25, 2005 at 10:51:58AM -0700, Ken A wrote: > I'm running the latest qpopper on FC3 with user quotas turned on. > > With fast-update on, I see "Invalid cross-device link (18) > [pop_updt.c:770]" in the logs. I know this is normal for fast-update > when the spool and temp drop are on different partitions because of the > way rename works. > > But, if I put the temp drop on the same filesystem as the mail spool, > users can't check mail when they hit their hard quota. :-( > > I'd like to have the temp drop on a different partition so quotas work, > but still use fast-update, since I'd like to keep disk i/o down as much > as possible. I'd appreciate any ideas.
This is inherently impossible due to issues with the Unix quota model and filesystems. "fast-update" is a simple relink, i.e. rename, to replace the spool when the ideal case is hit; that is how it can do essentially no I/O at this step. Obviously this can only happen when the two files exist on the same filesystem (indeed, in any OS I know of, not just UNIX.) However, it's not possible in the UNIX model to have a user quota that applies only to a portion of a filesystem, or to "all files except ...". That sharply limits the usefulness of hard quotas if you have the spool and the temp drop on the same filesystem, as you say. Finally, it would be a severe security risk if qpopper were to hold superuser privileges until the end of the session, when they would be needed if one were to juggle file ownership at that point (e.g. by making the tempdrop file qpopper-owned and group writable until it were swapped into place with the user's spool.) AFAIK, nobody's come up with a better way to juggle files that would reconcile these issues. -- Clifton -- Clifton Royston -- [EMAIL PROTECTED] Tiki Technologies Lead Programmer/Software Architect "I'm gonna tell my son to grow up pretty as the grass is green And whip-smart as the English Channel's wide..." -- 'Whip-Smart', Liz Phair