staging: lustre: llite: default dir stripe index only for mkdir
authorwang di <di.wang@intel.com>
Mon, 3 Oct 2016 02:28:05 +0000 (22:28 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 16 Oct 2016 08:24:26 +0000 (10:24 +0200)
Default dir stripe index should only work during mkdir,
otherwise it will cause other open/create request being
sent to the wrong MDT.

Signed-off-by: wang di <di.wang@intel.com>
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6373
Reviewed-on: http://review.whamcloud.com/14096
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Fan Yong <fan.yong@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>
drivers/staging/lustre/lustre/llite/llite_lib.c

index 84a377a..ba9e5ff 100644 (file)
@@ -2269,8 +2269,9 @@ struct md_op_data *ll_prep_md_op_data(struct md_op_data *op_data,
        op_data->op_default_stripe_offset = -1;
        if (S_ISDIR(i1->i_mode)) {
                op_data->op_mea1 = ll_i2info(i1)->lli_lsm_md;
-               op_data->op_default_stripe_offset =
-                       ll_i2info(i1)->lli_def_stripe_offset;
+               if (opc == LUSTRE_OPC_MKDIR)
+                       op_data->op_default_stripe_offset =
+                               ll_i2info(i1)->lli_def_stripe_offset;
        }
 
        if (i2) {