Re: VFS: Convert abuses of sector_t

From: Andrew Morton
Date: Wed Mar 22 2006 - 05:50:55 EST


Trond Myklebust <trond.myklebust@xxxxxxxxxx> wrote:
>
> From: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx>
>
> 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().
>
> One consequence is that networked filesystems may break if CONFIG_LBD is
> not set, since it is quite common to have multi-TB remote filesystems.
>
> The following patch just converts struct kstatfs to use the standard type u64.
>
> Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx>
> ---
>
> include/linux/statfs.h | 10 +++++-----
> 1 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/include/linux/statfs.h b/include/linux/statfs.h
> index ad83a2b..b34cc82 100644
> --- a/include/linux/statfs.h
> +++ b/include/linux/statfs.h
> @@ -8,11 +8,11 @@
> struct kstatfs {
> long f_type;
> long f_bsize;
> - sector_t f_blocks;
> - sector_t f_bfree;
> - sector_t f_bavail;
> - sector_t f_files;
> - sector_t f_ffree;
> + u64 f_blocks;
> + u64 f_bfree;
> + u64 f_bavail;
> + u64 f_files;
> + u64 f_ffree;
> __kernel_fsid_t f_fsid;
> long f_namelen;
> long f_frsize;

This change also appears (for different reasons) in
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.16-rc6/2.6.16-rc6-mm2/broken-out/2tb-files-change-type-of-kstatfs-entries.patch,
so we should be OK.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/