Commit a65e50c0 authored by Bobi Jam's avatar Bobi Jam Committed by Greg Kroah-Hartman

staging: lustre: llite: break up ll_setstripe_ea function

Place all the handling of information of trusted.lov that
is not stripe related into the new function ll_adjust_lum().
Now ll_setstripe_ea() only handles striping information.
Signed-off-by: default avatarBobi Jam <bobijam.xu@intel.com>
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-9484
Reviewed-on: https://review.whamcloud.com/27126Reviewed-by: default avatarDmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: default avatarNiu Yawei <yawei.niu@intel.com>
Reviewed-by: default avatarJames Simmons <uja.ornl@yahoo.com>
Reviewed-by: default avatarAndreas Dilger <andreas.dilger@intel.com>
Signed-off-by: default avatarJames Simmons <jsimmons@infradead.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 0642048d
......@@ -186,22 +186,10 @@ static int get_hsm_state(struct inode *inode, u32 *hus_states)
return rc;
}
static int ll_setstripe_ea(struct dentry *dentry, struct lov_user_md *lump,
size_t size)
static int ll_adjust_lum(struct inode *inode, struct lov_user_md *lump)
{
struct inode *inode = d_inode(dentry);
int rc = 0;
if (size != 0 && size < sizeof(struct lov_user_md))
return -EINVAL;
/*
* It is possible to set an xattr to a "" value of zero size.
* For this case we are going to treat it as a removal.
*/
if (!size && lump)
lump = NULL;
/* Attributes that are saved via getxattr will always have
* the stripe_offset as 0. Instead, the MDS should be
* allowed to pick the starting OST index. b=17846
......@@ -234,6 +222,29 @@ static int ll_setstripe_ea(struct dentry *dentry, struct lov_user_md *lump,
}
}
return rc;
}
static int ll_setstripe_ea(struct dentry *dentry, struct lov_user_md *lump,
size_t size)
{
struct inode *inode = d_inode(dentry);
int rc = 0;
if (size != 0 && size < sizeof(struct lov_user_md))
return -EINVAL;
/*
* It is possible to set an xattr to a "" value of zero size.
* For this case we are going to treat it as a removal.
*/
if (!size && lump)
lump = NULL;
rc = ll_adjust_lum(inode, lump);
if (rc)
return rc;
if (lump && S_ISREG(inode->i_mode)) {
__u64 it_flags = FMODE_WRITE;
int lum_size;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment