mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-09 05:31:17 -04:00
staging: lustre: lmv: fix some byte order issues
In the handler for LL_IOC_LMV_GETSTRIPE convert stripe FIDs from little to CPU endian when unpacking lmv_user_md. In lmv_unpack_md_v1() fix a double conversion of the stripe count. Signed-off-by: John L. Hammond <john.hammond@intel.com> Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5342 Reviewed-on: http://review.whamcloud.com/11106 Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com> Reviewed-by: Jian Yu <jian.yu@intel.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: James Simmons <jsimmons@infradead.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
47137ad380
commit
212f6c7fcf
@@ -1252,16 +1252,16 @@ static long ll_dir_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
|
||||
tmp->lum_stripe_count = 0;
|
||||
tmp->lum_stripe_offset = mdt_index;
|
||||
for (i = 0; i < stripe_count; i++) {
|
||||
struct lu_fid *fid;
|
||||
struct lu_fid fid;
|
||||
|
||||
fid = &lmm->lmv_md_v1.lmv_stripe_fids[i];
|
||||
mdt_index = ll_get_mdt_idx_by_fid(sbi, fid);
|
||||
fid_le_to_cpu(&fid, &lmm->lmv_md_v1.lmv_stripe_fids[i]);
|
||||
mdt_index = ll_get_mdt_idx_by_fid(sbi, &fid);
|
||||
if (mdt_index < 0) {
|
||||
rc = mdt_index;
|
||||
goto out_tmp;
|
||||
}
|
||||
tmp->lum_objects[i].lum_mds = mdt_index;
|
||||
tmp->lum_objects[i].lum_fid = *fid;
|
||||
tmp->lum_objects[i].lum_fid = fid;
|
||||
tmp->lum_stripe_count++;
|
||||
}
|
||||
|
||||
|
||||
@@ -2907,7 +2907,7 @@ static int lmv_unpack_md_v1(struct obd_export *exp, struct lmv_stripe_md *lsm,
|
||||
lsm->lsm_md_hash_type, lsm->lsm_md_layout_version);
|
||||
|
||||
stripe_count = le32_to_cpu(lmm1->lmv_stripe_count);
|
||||
for (i = 0; i < le32_to_cpu(stripe_count); i++) {
|
||||
for (i = 0; i < stripe_count; i++) {
|
||||
fid_le_to_cpu(&lsm->lsm_md_oinfo[i].lmo_fid,
|
||||
&lmm1->lmv_stripe_fids[i]);
|
||||
rc = lmv_fld_lookup(lmv, &lsm->lsm_md_oinfo[i].lmo_fid,
|
||||
|
||||
Reference in New Issue
Block a user