Re: [PATCHv2 1/3] fs/buffer.c: allocate buffer cache with user specific flag

From: Gioh Kim
Date: Wed Aug 20 2014 - 20:38:29 EST




2014-08-21 ìì 7:02, Jan Kara ì ê:
On Wed 20-08-14 11:38:10, Gioh Kim wrote:

@@ -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


I got it.
I'm going to report v3 patch that reverts __getblk() and adds sb_bread_unmovable(),
if Andrew give me a feedback about the other codes.
I can wait ;-)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/