files > 2GB

Stephen C. Tweedie sct en redhat.com
Jue Ene 27 19:26:59 CST 2000


Hi,

On Tue, 25 Jan 2000 12:11:40 +0000 (GMT), Riley Williams
<rhw en MemAlpha.CX> said:

>>> My suggestion would be to use the following rule set:

>> What are those rules for?

> They specify how the KERNEL should respond when it finds itself
> running a syscall that needs to return a 32-bit off_t but has a value
> too big to fit in one.

That is already perfectly well defined in the LFS standard.  If you open
a file with a 32-bit off_t and the file is larger than 2G, you get
EOVERFLOW.  Similarly, extending a fd opened with 32-bit off_t past the
2G boundary returns the same error.

> Providing that's been done for ALL of the utilities on the system,
> this discussion is irrelevant as the proposed scenario could not
> arise. However, if there's just ONE utility that hasn't been compiled
> with that flag (including those supplied in binary-only form) then
> there is the possibility of it happenning.

The worst that will happen is that such a utility will fail with a
clean, well-defined error code.

>  Q. What should the kernel do when, in the middle of executing a
>     function that returns a 32-bit off_t value, 
> My reply can be summarised as follows:
>  A. If the value to be returned fits into the 32-bit off_t value,
>     return that, otherwise return -ETOOBIG 

Please read the standard before continuing with this thread, it already
deals with these issues.

--Stephen

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



Más información sobre la lista de distribución Ayuda