From: John L. Hammond <john.hamm...@intel.com>

By the time that a struct lmv_user_md reaches lmv_placement_policy()
it has already been converted to little endian. Therefore use the
appropriate macros around accesses to this this field. This issue was
found by rewriting the definition of struct lmv_user_md to use the
__leXX typedefs and running sparse.

Signed-off-by: John L. Hammond <john.hamm...@intel.com>
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4738
Reviewed-on: http://review.whamcloud.com/9671
Reviewed-by: Dmitry Eremin <dmitry.ere...@intel.com>
Reviewed-by: Swapnil Pimpale <spimp...@ddn.com>
Reviewed-by: Oleg Drokin <oleg.dro...@intel.com>
Signed-off-by: James Simmons <jsimm...@infradead.org>
---
 drivers/staging/lustre/lustre/lmv/lmv_obd.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/lustre/lustre/lmv/lmv_obd.c 
b/drivers/staging/lustre/lustre/lmv/lmv_obd.c
index c005a66..5929994 100644
--- a/drivers/staging/lustre/lustre/lmv/lmv_obd.c
+++ b/drivers/staging/lustre/lustre/lmv/lmv_obd.c
@@ -1242,15 +1242,15 @@ static int lmv_placement_policy(struct obd_device *obd,
                struct lmv_user_md *lum;
 
                lum = op_data->op_data;
-               if (lum->lum_stripe_offset != (__u32)-1) {
-                       *mds = lum->lum_stripe_offset;
+               if (le32_to_cpu(lum->lum_stripe_offset) != (__u32)-1) {
+                       *mds = le32_to_cpu(lum->lum_stripe_offset);
                } else {
                        /*
                         * -1 means default, which will be in the same MDT with
                         * the stripe
                         */
                        *mds = op_data->op_mds;
-                       lum->lum_stripe_offset = op_data->op_mds;
+                       lum->lum_stripe_offset = cpu_to_le32(op_data->op_mds);
                }
        } else {
                /*
-- 
1.7.1

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to