Re: [f2fs-dev 3/5] f2fs: Add a new function: f2fs_reserve_block()

From: Huajun Li
Date: Mon Oct 28 2013 - 12:53:58 EST


Hi Jaegeuk,

Thanks for your kindly review and comments.

On Mon, Oct 28, 2013 at 8:28 PM, Jaegeuk Kim <jaegeuk.kim@xxxxxxxxxxx> wrote:
> 2013-10-28 (ì), 21:16 +0900, Jaegeuk Kim:
> Hi,
>
>>
>> 2013-10-26 (í), 00:01 +0800, Huajun Li:
>> > From: Huajun Li <huajun.li@xxxxxxxxx>
>> >
>> > Add the function f2fs_reserve_block() to easily reserve new blocks.
>> >
>> > Signed-off-by: Huajun Li <huajun.li@xxxxxxxxx>
>> > Signed-off-by: Haicheng Li <haicheng.li@xxxxxxxxxxxxxxx>
>> > Signed-off-by: Weihong Xu <weihong.xu@xxxxxxxxx>
>> > ---
>> > fs/f2fs/data.c | 29 ++++++++++++++++++-----------
>> > fs/f2fs/f2fs.h | 1 +
>> > 2 files changed, 19 insertions(+), 11 deletions(-)
>> >
>> > diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
>> > index c8887d8..7b31911 100644
>> > --- a/fs/f2fs/data.c
>> > +++ b/fs/f2fs/data.c
>> > @@ -64,6 +64,23 @@ int reserve_new_block(struct dnode_of_data *dn)
>> > return 0;
>> > }
>> >
>> > +int f2fs_reserve_block(struct inode *inode,
>> > + struct dnode_of_data *dn, pgoff_t index)
>>
>
> We don't need to get dnode_of_data from parameters, since it is
> used by this function only.

After calling f2fs_reserve_block(), we need dn.data_blkaddr to check
whether it is NEW_ADDR. So IMO, it's nice to keep this parameter.

>
>>
>> > +{
>> > + int err;
>
> + struct dnode_of_data dn;
>
>>
>> > +
>> > + set_new_dnode(dn, inode, NULL, NULL, 0);
>> > + err = get_dnode_of_data(dn, index, ALLOC_NODE);
>> > + if (err)
>> > + return err;
>> > + if (dn->data_blkaddr == NULL_ADDR)
>> > + err = reserve_new_block(dn);
>> > +
>> > + f2fs_put_dnode(dn);
>> > +
>> > + return err;
>> > +}
>> > +
>>
>
> --
> Jaegeuk Kim
> Samsung
>
--
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/