DragonFly kernel List (threaded) for 2012-07
Re: Quota on tmpfs
On Wed, Jul 18, 2012 at 12:11:10PM -0400, Mouse wrote:
> >> Um, why would anything quota-related ever cause errors from lseek?
> > Because he applies quotas to file length. The lseek is what will
> > take you over quota, whether you ever write or not.
> At least in my experience, lseek never affects any file's size. lseek
> such that the file pointer is left past EOF sets it up so a write will
> extend the file (with a hole, if far enough past EOF and holes are
> supported), but the lseek itself shouldn't do anything to file size.
Of course you're right. So the error will come back from write() and
applications _should_ handle EDQUOT from write, unless they're written
on the assumption nothing but them is ever writing -- but that would
not be a good assumption to ever make (I am reminded how C News used
to suffer from this). Data corruption should be unlikely but the
problem of confounding the application's (and user's) expectations in
this case does remain.