All of lore.kernel.org
 help / color / mirror / Atom feed
From: Theodore Tso <tytso@mit.edu>
To: Andrew Morton <akpm@osdl.org>
Cc: cmm@us.ibm.com, linux-fsdevel@vger.kernel.org,
	ext2-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org
Subject: Re: [Ext2-devel] [PATCH 2/9] sector_t format string
Date: Thu, 10 Aug 2006 11:31:50 -0400	[thread overview]
Message-ID: <20060810153150.GB21801@thunk.org> (raw)
In-Reply-To: <20060809234019.c8a730e3.akpm@osdl.org>

On Wed, Aug 09, 2006 at 11:40:19PM -0700, Andrew Morton wrote:
> On Wed, 09 Aug 2006 18:20:43 -0700
> Mingming Cao <cmm@us.ibm.com> wrote:
> 
> > 
> > Define SECTOR_FMT to print sector_t in proper format
> > 
> > ...
> >
> >  #define HAVE_SECTOR_T
> >  typedef u64 sector_t;
> > +#define SECTOR_FMT "%llu"
> 
> We've thus-far avoided doing this.  In fact a similar construct in
> device-mapper was recently removed.
> 
> Unlike many other attempts, this one appears to be correct (people usually
> get powerpc wrong, due to its u64=unsigned long).
> 
> That being said, I'm not really sure we want to add this.  It produces
> rather nasty-looking source code and thus far we've just used %llu and we've
> typecasted the sector_t to `unsigned long long'.  That happens in a lot of
> places in the kernel and perhaps we don't want to start innovating in ext4
> ;)
> 
> That also being said...  does a 32-bit sector_t make any sense on a
> 48-bit-blocknumber filesystem?  I'd have thought that we'd just make ext4
> depend on 64-bit sector_t and be done with it.

Ext4 will support a 48-bit blocknumber format for extents, but I do
want to make ext4 suitable as a general purpose filesystem, and 32-bit
systems will be around for I fear far longer than people might wish.
So while I agree that we shouldn't go _too_ far out of our way to make
things efficient on 32-bit systems, if it's not that much work to
support a 32-bit sector_t, we ought to do it.

So how about a compromise?  We allow for a 32-bit sector_t in ext4,
but we drop the SECTOR_FMT, and rely on %llu and typecasts in
printk's.  Then the only other extra hair in the filesystem code will
be a mount-time check to make sure we don't try to mount a large
filesystem on system with a 32-bit sector_t.

						- Ted

  parent reply	other threads:[~2006-08-10 15:32 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-10  1:20 [PATCH 2/9] sector_t format string Mingming Cao
2006-08-10  6:40 ` Andrew Morton
2006-08-10  6:40   ` Andrew Morton
2006-08-10 11:05   ` Roman Zippel
2006-08-10 12:02     ` Jeff Garzik
2006-08-10 12:02       ` Jeff Garzik
2006-08-10 12:24       ` Roman Zippel
2006-08-10 12:25         ` Jeff Garzik
2006-08-10 12:30           ` Roman Zippel
2006-08-10 12:30             ` Roman Zippel
2006-08-10 12:33             ` Jeff Garzik
2006-08-10 13:08               ` Roman Zippel
2006-08-10 13:14                 ` Jeff Garzik
2006-08-10 13:27                   ` Roman Zippel
2006-08-10 13:27                     ` Roman Zippel
2006-08-10 13:30                     ` Jeff Garzik
2006-08-10 13:52                       ` Roman Zippel
2006-08-10 14:04                         ` [Ext2-devel] " Eric Sandeen
2006-08-10 14:19                           ` Roman Zippel
2006-08-10 14:21                             ` Jeff Garzik
2006-08-10 14:35                               ` Roman Zippel
2006-08-10 14:06                         ` Jeff Garzik
2006-08-10 14:24                           ` Roman Zippel
2006-08-10 14:26                             ` Jeff Garzik
2006-08-10 14:41                               ` Roman Zippel
2006-08-10 16:24                     ` John Stoffel
2006-08-10 16:43                       ` Roman Zippel
2006-08-10 16:54                       ` Andrew Morton
2006-08-10 16:54                         ` Andrew Morton
2006-08-10 17:24                         ` Roman Zippel
2006-08-10 17:24                           ` Roman Zippel
2006-08-10 15:31   ` Theodore Tso [this message]
2006-08-10 16:37     ` [Ext2-devel] " Roman Zippel
2006-08-10 16:37       ` Roman Zippel
2006-08-10 21:59       ` [Ext2-devel] " Mingming Cao
2006-08-10 19:17   ` Joel Becker
2006-08-10 19:17     ` Joel Becker
2006-08-10 19:44     ` Alexey Dobriyan
2006-08-10 19:44       ` Alexey Dobriyan
2006-08-10 19:57       ` Andrew Morton
2006-08-10 19:57         ` Andrew Morton
2006-08-10 20:41         ` Alexey Dobriyan
2006-08-10 20:41           ` Alexey Dobriyan
2006-08-10 20:17       ` Jeff Mahoney
2006-08-10 20:17         ` Jeff Mahoney
2006-08-11  5:57         ` Jan Engelhardt
2006-08-11  5:57           ` Jan Engelhardt
2006-08-11  8:31           ` Bernd Petrovitsch
2006-08-11  8:31             ` Bernd Petrovitsch
2006-08-11  9:07             ` Jan Engelhardt
2006-08-11  9:07               ` Jan Engelhardt
2006-08-11 14:48           ` Jeff Mahoney
2006-08-11 14:48             ` Jeff Mahoney
2006-08-11  0:59   ` Mingming Cao
2006-08-11  2:11     ` [Ext2-devel] " Eric Sandeen
2006-08-11  2:11       ` Eric Sandeen
2006-08-11 22:06     ` Mingming Cao

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=20060810153150.GB21801@thunk.org \
    --to=tytso@mit.edu \
    --cc=akpm@osdl.org \
    --cc=cmm@us.ibm.com \
    --cc=ext2-devel@lists.sourceforge.net \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.