| Age | Commit message (Collapse) | Author |
|
Add a flags field to help glibc implementing statvfs(3) efficiently.
We copy the flag values from glibc, and add a new ST_VALID flag to
denote that f_flags is implemented.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
|
|
This fix was proposed by Trond Myklebust. He says: The type "sector_t" is
heavily tied in to the block layer interface as an offset/handle to a block,
and is subject to a supposedly block-specific configuration option:
CONFIG_LBD. Despite this, it is used in struct kstatfs to save a couple of
bytes on the stack whenever we call the filesystems' ->statfs().
So kstatfs's entries related to blocks are invalid on statfs64 for a network
filesystem which has more than 2^32-1 blocks when CONFIG_LBD is disabled.
- struct kstatfs
Change the type of following entries from sector_t to u64.
f_blocks
f_bfree
f_bavail
f_files
f_ffree
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Takashi Sato <sho@tnes.nec.co.jp>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
From: Peter Chubb <peter@chubb.wattle.id.au>
Add two new system calls, statfs64 and fstatfs64. This has been needed
sincew the 64-bit sector_t merge - the current structures will overflow.
- Use a common interface (vfs_statfs) with the rest of the kernel,
- convert to 32-bit at (f)statfs time.
- New field f_frsize gives underlying fragment size for the filesystem.
(Solaris has this, and the Open Group describe it).
- The old statfs syscalls will now return -EOVERFLOW if the device was
too large to be represented inthe old data structures.
The new system calls take a size_t argument, which is the size of the
structure to be filled in (as requested by Ben LaHaise), to `futureproof' the
interface.
Has been reviewed by the arch maintainers and by Ulrich Drepper.
|