mirror of
https://github.com/torvalds/linux.git
synced 2024-12-29 14:21:47 +00:00
xfs: collapse cases in xfs_attr3_leaf_list_int
Consolidate the 2 calls to ->put_listent in xfs_attr3_leaf_list_int(), by setting up name, namelen, and valuelen for the local vs remote cases, then call ->put_listent and do the error handling all in one spot. Signed-off-by: Eric Sandeen <sandeen@redhat.com>
This commit is contained in:
parent
7af5ad28a6
commit
3ab3ffcaca
@ -412,6 +412,9 @@ xfs_attr3_leaf_list_int(
|
||||
*/
|
||||
retval = 0;
|
||||
for (; i < ichdr.count; entry++, i++) {
|
||||
char *name;
|
||||
int namelen, valuelen;
|
||||
|
||||
if (be32_to_cpu(entry->hashval) != cursor->hashval) {
|
||||
cursor->hashval = be32_to_cpu(entry->hashval);
|
||||
cursor->offset = 0;
|
||||
@ -421,26 +424,23 @@ xfs_attr3_leaf_list_int(
|
||||
continue; /* skip incomplete entries */
|
||||
|
||||
if (entry->flags & XFS_ATTR_LOCAL) {
|
||||
xfs_attr_leaf_name_local_t *name_loc =
|
||||
xfs_attr3_leaf_name_local(leaf, i);
|
||||
xfs_attr_leaf_name_local_t *name_loc;
|
||||
|
||||
retval = context->put_listent(context,
|
||||
entry->flags,
|
||||
name_loc->nameval,
|
||||
(int)name_loc->namelen,
|
||||
be16_to_cpu(name_loc->valuelen));
|
||||
name_loc = xfs_attr3_leaf_name_local(leaf, i);
|
||||
name = name_loc->nameval;
|
||||
namelen = name_loc->namelen;
|
||||
valuelen = be16_to_cpu(name_loc->valuelen);
|
||||
} else {
|
||||
xfs_attr_leaf_name_remote_t *name_rmt =
|
||||
xfs_attr3_leaf_name_remote(leaf, i);
|
||||
xfs_attr_leaf_name_remote_t *name_rmt;
|
||||
|
||||
int valuelen = be32_to_cpu(name_rmt->valuelen);
|
||||
|
||||
retval = context->put_listent(context,
|
||||
entry->flags,
|
||||
name_rmt->name,
|
||||
(int)name_rmt->namelen,
|
||||
valuelen);
|
||||
name_rmt = xfs_attr3_leaf_name_remote(leaf, i);
|
||||
name = name_rmt->name;
|
||||
namelen = name_rmt->namelen;
|
||||
valuelen = be32_to_cpu(name_rmt->valuelen);
|
||||
}
|
||||
|
||||
retval = context->put_listent(context, entry->flags,
|
||||
name, namelen, valuelen);
|
||||
if (retval)
|
||||
break;
|
||||
if (context->seen_enough)
|
||||
|
Loading…
Reference in New Issue
Block a user