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

Jan Kara
2014-08-20T22:02:33Z

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
--
Jan Kara <jack@suse.cz>
SUSE Labs, CR