[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20100812201534.GA22777@mail.oracle.com>
Date: Thu, 12 Aug 2010 13:15:34 -0700
From: Joel Becker <Joel.Becker@...cle.com>
To: Andreas Dilger <adilger@...ger.ca>
Cc: "Ted Ts'o" <tytso@....edu>, Jan Kara <jack@...e.cz>,
ocfs2-devel@....oracle.com, linux-fsdevel@...r.kernel.org,
linux-ext4@...r.kernel.org,
"linux-kernel@...r.kernel.org Patrick J. LoPresti"
<lopresti@...il.com>
Subject: Re: [Ocfs2-devel] [PATCH 1/3] ext3/ext4: Factor out disk
addressability check
On Thu, Aug 12, 2010 at 12:45:41PM -0600, Andreas Dilger wrote:
> On 2010-08-12, at 11:42, Joel Becker wrote:
> >> +/**
> >> + * generic_check_addressable - Check addressability of file system
> >> + * @blocksize_bits: log of file system block size
> >> + * @num_blocks: number of blocks in file system
> >> + *
> >> + * Determine whether a file system with @num_blocks blocks (and a
> >> + * block size of 2**@...cksize_bits) is addressable by the sector_t
> >> + * and page cache of the system. Return 0 if so and -EFBIG otherwise.
> >> + */
> >> +int generic_check_addressable(unsigned blocksize_bits, u64 num_blocks)
> >> +{
> >> + u64 last_fs_block = num_blocks - 1;
> >> +
> >> + BUG_ON(blocksize_bits < 9);
> >> + BUG_ON(blocksize_bits > PAGE_CACHE_SHIFT);
>
> I'd rather not have a BUG_ON() for a "check" function that may be called with on-disk values by some filesystem. Some filesystems (AFAIR) also handle blocksize > PAGE_SIZE internally, so this helper would not be useful for them.
Filesystems that handle their own page cache certainly wouldn't
be interested in a generic helper anyway. All of our pagecache assumes
blocks between 512<->PAGE_CACHE_SIZE.
If I change the BUG_ON()s to -EINVAL, does that work? Or do you
have some way you'd like to allow non-pagecache filesystems to use this
as well?
Joel
--
"I am working for the time when unqualified blacks, browns, and
women join the unqualified men in running our government."
- Sissy Farenthold
Joel Becker
Consulting Software Developer
Oracle
E-mail: joel.becker@...cle.com
Phone: (650) 506-8127
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists