Re: [PATCH, RFC 2/2] ext4: Convert callers of ext4_get_blocks() to use ext4_map_blocks()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, May 04, 2010 at 03:34:59PM +0530, Aneesh Kumar K. V wrote:
> > +	ret = ext4_map_blocks(NULL, inode, &map, 0);
> > +	if (ret < 0)
> > +		return ret;
> > +	if (ret == 0) {
> > +		if (!buffer_delay(bh)) {
> 
> bh flags are not set here. This check should be based on map.m_flags.

Actually, I looked more closely at this again today.
ext4_get_blocks() never messed with BH_DELAY, so this flag would only
be set or not set if it was originally set in the buffer_head before
it had been passed into ext4_get_blocks().

BTW, this is one of the reasons why I really hated the old system.  It
was never clear which flags were set by whom, and whether the flags
that had been in the struct bh before it had been passed into
ext4_get_blocks() was random stack garbage, or whether it had meaning,
etc.

I'm still not sure we have it all right, but it's clearly better to
use !buffer_delay(bh), since the buffer_delay flag is one that had
been never touched by ext4_get_blocks().

					- Ted
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux