mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* VFS: Convert abuses of sector_t
@ 2006-03-21 17:13 Trond Myklebust
  2006-03-22 10:50 ` Andrew Morton
  0 siblings, 1 reply; 2+ messages in thread
From: Trond Myklebust @ 2006-03-21 17:13 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel, Linux Filesystem Development

From: Trond Myklebust <Trond.Myklebust@netapp.com>

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@netapp.com>
---

 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;



^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: VFS: Convert abuses of sector_t
  2006-03-21 17:13 VFS: Convert abuses of sector_t Trond Myklebust
@ 2006-03-22 10:50 ` Andrew Morton
  0 siblings, 0 replies; 2+ messages in thread
From: Andrew Morton @ 2006-03-22 10:50 UTC (permalink / raw)
  To: Trond Myklebust; +Cc: torvalds, linux-kernel, linux-fsdevel

Trond Myklebust <trond.myklebust@fys.uio.no> wrote:
>
> From: Trond Myklebust <Trond.Myklebust@netapp.com>
> 
> 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@netapp.com>
> ---
> 
>  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.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2006-03-22 10:53 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-03-21 17:13 VFS: Convert abuses of sector_t Trond Myklebust
2006-03-22 10:50 ` Andrew Morton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®