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

Gioh Kim
2014-08-21T00:38:18Z

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 ;-)