Message ID | 20180917072852.25831-4-suy.fnst@cn.fujitsu.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | btrfs-progs: lowmem: bug fixes and inode_extref repair | expand |
On 2018/9/17 下午3:28, Su Yue wrote: > In check_dir_item, we are going to search corresponding > dir_item/index. > > Commit 564901eac7a4 ("btrfs-progs: check: introduce > print_dir_item_err()") Changed argument name from key to di_key but > forgot to change the key name for dir_item search. > So @key shouldn't be used here. It should be @di_key. > Change comment about parameters too. > > To keep compactness, move declarations into while loop in > check_dir_item(). > > Fixes: 564901eac7a4 ("btrfs-progs: check: introduce print_dir_item_err()") > Signed-off-by: Su Yue <suy.fnst@cn.fujitsu.com> > --- > check/mode-lowmem.c | 22 +++++++++++----------- > 1 file changed, 11 insertions(+), 11 deletions(-) > > diff --git a/check/mode-lowmem.c b/check/mode-lowmem.c > index 1bce44f5658a..4db12cc7f9fe 100644 > --- a/check/mode-lowmem.c > +++ b/check/mode-lowmem.c > @@ -1529,7 +1529,7 @@ static void print_dir_item_err(struct btrfs_root *root, struct btrfs_key *key, > * call find_inode_ref() to check related INODE_REF/INODE_EXTREF. > * > * @root: the root of the fs/file tree > - * @key: the key of the INODE_REF/INODE_EXTREF > + * @di_key: the key of the dir_item/dir_index > * @path: the path > * @size: the st_size of the INODE_ITEM > * > @@ -1540,20 +1540,11 @@ static int check_dir_item(struct btrfs_root *root, struct btrfs_key *di_key, > struct btrfs_path *path, u64 *size) > { > struct btrfs_dir_item *di; > - struct btrfs_inode_item *ii; > - struct btrfs_key key; > - struct btrfs_key location; > struct extent_buffer *node; > int slot; > char namebuf[BTRFS_NAME_LEN] = {0}; > u32 total; > u32 cur = 0; > - u32 len; > - u32 name_len; > - u32 data_len; > - u8 filetype; > - u32 mode = 0; > - u64 index; > int ret; > int err; > int tmp_err; > @@ -1588,6 +1579,15 @@ begin: > memset(namebuf, 0, sizeof(namebuf) / sizeof(*namebuf)); > > while (cur < total) { > + struct btrfs_inode_item *ii; > + struct btrfs_key key; If we have several keys, it's better to avoid generic name like @key. In this case, the @key is only used for find_dir_item(), thus it could be called @found_dir_key. Thanks, Qu > + struct btrfs_key location; > + u8 filetype; > + u32 data_len; > + u32 name_len; > + u32 len; > + u32 mode = 0; > + u64 index; > /* > * For DIR_ITEM set index to (u64)-1, so that find_inode_ref > * ignore index check. > @@ -1658,7 +1658,7 @@ begin: > > /* check relative INDEX/ITEM */ > key.objectid = di_key->objectid; > - if (key.type == BTRFS_DIR_ITEM_KEY) { > + if (di_key->type == BTRFS_DIR_ITEM_KEY) { > key.type = BTRFS_DIR_INDEX_KEY; > key.offset = index; > } else { >
diff --git a/check/mode-lowmem.c b/check/mode-lowmem.c index 1bce44f5658a..4db12cc7f9fe 100644 --- a/check/mode-lowmem.c +++ b/check/mode-lowmem.c @@ -1529,7 +1529,7 @@ static void print_dir_item_err(struct btrfs_root *root, struct btrfs_key *key, * call find_inode_ref() to check related INODE_REF/INODE_EXTREF. * * @root: the root of the fs/file tree - * @key: the key of the INODE_REF/INODE_EXTREF + * @di_key: the key of the dir_item/dir_index * @path: the path * @size: the st_size of the INODE_ITEM * @@ -1540,20 +1540,11 @@ static int check_dir_item(struct btrfs_root *root, struct btrfs_key *di_key, struct btrfs_path *path, u64 *size) { struct btrfs_dir_item *di; - struct btrfs_inode_item *ii; - struct btrfs_key key; - struct btrfs_key location; struct extent_buffer *node; int slot; char namebuf[BTRFS_NAME_LEN] = {0}; u32 total; u32 cur = 0; - u32 len; - u32 name_len; - u32 data_len; - u8 filetype; - u32 mode = 0; - u64 index; int ret; int err; int tmp_err; @@ -1588,6 +1579,15 @@ begin: memset(namebuf, 0, sizeof(namebuf) / sizeof(*namebuf)); while (cur < total) { + struct btrfs_inode_item *ii; + struct btrfs_key key; + struct btrfs_key location; + u8 filetype; + u32 data_len; + u32 name_len; + u32 len; + u32 mode = 0; + u64 index; /* * For DIR_ITEM set index to (u64)-1, so that find_inode_ref * ignore index check. @@ -1658,7 +1658,7 @@ begin: /* check relative INDEX/ITEM */ key.objectid = di_key->objectid; - if (key.type == BTRFS_DIR_ITEM_KEY) { + if (di_key->type == BTRFS_DIR_ITEM_KEY) { key.type = BTRFS_DIR_INDEX_KEY; key.offset = index; } else {
In check_dir_item, we are going to search corresponding dir_item/index. Commit 564901eac7a4 ("btrfs-progs: check: introduce print_dir_item_err()") Changed argument name from key to di_key but forgot to change the key name for dir_item search. So @key shouldn't be used here. It should be @di_key. Change comment about parameters too. To keep compactness, move declarations into while loop in check_dir_item(). Fixes: 564901eac7a4 ("btrfs-progs: check: introduce print_dir_item_err()") Signed-off-by: Su Yue <suy.fnst@cn.fujitsu.com> --- check/mode-lowmem.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-)