Re: generic_file_llseek() broken?

From: Andries.Brouwer@cwi.nl
Date: Wed Nov 14 2001 - 19:55:58 EST


> I _think_ there is a bug in generic_file_llseek(), with it returning -EINVAL
> instead of -EFBIG in the case where the offset is larger than the s_maxbytes.
> AFAICS, the return -EINVAL is for the case where "whence" is invalid, not the
> case where "offset" is too large for the underlying filesystem

My reading of the standards is:

[EFBIG] - File too large. You get this when trying to write. Not for a seek.
  The size of a file would exceed the maximum file size
  of an implementation or offset maximum established
  in the corresponding file description.

[EOVERFLOW] - Value too large for data type. This can happen for a seek.
  The resulting file offset would be a value which cannot be represented
  correctly in an object of the given type.

[EINVAL] - Bad value for other reasons. This will happen for a seek to a
  negative offset.

Andries
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Nov 15 2001 - 21:00:40 EST