On Wed, Dec 17, 2008 at 06:47:11AM -0500, Theodore Tso wrote: > On Wed, Dec 17, 2008 at 01:26:35PM +0530, Aneesh Kumar K.V wrote: > > > One of the good things about getting rid of too many layers of > > > abstractions is that it makes bugs like this easier to spot. We've > > > been sending allocating directory and symlinks using EXT4_MB_HINT_DATA > > > if extents haven't been enabled, and no one noticed before we > > > simplified out things.... > > > > We had always sent the directory allocation request with > > EXT4_MB_HINT_DATA not set. > > With extents, yes. With normal indirect block-based files, no. I > agree that for consistency's sake, it should be the same, but at the > moment, it isn't. Hmm. May be I am missing something. This is the call chain i followed with the Linus tree. ext4_get_block ext4_get_blocks_wrap ext4_get_blocks_handle ext4_alloc_branch ext4_alloc_blocks ext4_new_meta_blocks do_blk_alloc -> which set ar.flags = 0 for meta data. ext4_new_blocks do_blk_alloc -> which set ar.flags = 0 for !S_ISREG(inode->i_mode) So the current Linus kernel using mballoc for non extent format doesn't set EXT4_MB_HINT_DATA for directories. -aneesh -- 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