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. Thor