mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Takashi Sato" <sho@tnes.nec.co.jp>
To: <torvalds@osdl.org>, <viro@zeniv.linux.org.uk>, <akpm@osdl.org>
Cc: <linux-kernel@vger.kernel.org>, <linux-fsdevel@vger.kernel.org>,
	<trond.myklebust@fys.uio.no>
Subject: [PATCH 3/3] Fix problems on multi-TB filesystem and file
Date: Thu, 5 Jan 2006 19:05:31 +0900	[thread overview]
Message-ID: <000201c611df$92dca230$4168010a@bsd.tnes.nec.co.jp> (raw)

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.

The content of the patch attached to this mail is below.
- struct kstatfs
  Change the type of following entries from sector_t to u64.
  f_blocks
  f_bfree
  f_bavail
  f_files
  f_ffree

Any feedback and comments are welcome.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Takashi Sato <sho@tnes.nec.co.jp>

diff -uprN -X linux-2.6.15-lsf/Documentation/dontdiff linux-2.6.15-lsf/include/linux/statfs.h
linux-2.6.15-kstatfs/include/linux/statfs.h
--- linux-2.6.15-lsf/include/linux/statfs.h	2006-01-03 12:21:10.000000000 +0900
+++ linux-2.6.15-kstatfs/include/linux/statfs.h	2006-01-04 15:24:38.000000000 +0900
@@ -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;

-- Takashi Sato



             reply	other threads:[~2006-01-05 10:05 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-01-05 10:05 Takashi Sato [this message]
2006-01-13  2:33 ` Andrew Morton
  -- strict thread matches above, loose matches on Subject: below --
2005-12-16 13:11 Takashi Sato
     [not found] ` <2cd57c900512161139n7d738415q@mail.gmail.com>
2005-12-16 19:57   ` Trond Myklebust
     [not found]     ` <2cd57c900512161224i1079572ao@mail.gmail.com>
2005-12-16 20:37       ` Trond Myklebust

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='000201c611df$92dca230$4168010a@bsd.tnes.nec.co.jp' \
    --to=sho@tnes.nec.co.jp \
    --cc=akpm@osdl.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@osdl.org \
    --cc=trond.myklebust@fys.uio.no \
    --cc=viro@zeniv.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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®