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-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html