Re: [PATCHv2 1/3] fs/buffer.c: allocate buffer cache with user specific flag
From: Jan Kara <jack@suse.cz>
Date: 2014-08-20 22:02:24
Also in:
linux-fsdevel, lkml
From: Jan Kara <jack@suse.cz>
Date: 2014-08-20 22:02:24
Also in:
linux-fsdevel, lkml
On Wed 20-08-14 11:38:10, Gioh Kim wrote:
quoted
quoted
quoted
quoted
@@ -1381,12 +1383,7 @@ EXPORT_SYMBOL(__find_get_block); struct buffer_head * __getblk(struct block_device *bdev, sector_t block, unsigned size) { - struct buffer_head *bh = __find_get_block(bdev, block, size); - - might_sleep(); - if (bh == NULL) - bh = __getblk_slow(bdev, block, size); - return bh; + return __getblk_gfp(bdev, block, size, __GFP_MOVABLE); } EXPORT_SYMBOL(__getblk);Why did you remove the __find_get_block() call? That looks like a bug.I'm not sure if you didn't miss this comment....I'm sorry I missed it. I think calling __find_get_block() in __getblk_gfp() can replace it. I'm not sure about it. If anybody disagree with it, I'll change it as the original code.
OK, I see. Thanks for explanation. I agree we can remove __find_get_block() from __getblk() but please make this change a separate patch and also please put the might_sleep() check __getblk_gfp(). Honza -- Jan Kara [off-list ref] SUSE Labs, CR