Commit 0022c6bc authored by Artem Blagodarenko's avatar Artem Blagodarenko Committed by Greg Kroah-Hartman

staging: lustre: client: Fix mkdir -i 1 from DNE2 client to DNE1 server

After DNE phase 2 has been added to client it sends
create request to slave MDT.  DNT1-only server doesn't
expect request to slave MDT from client. It expects
only cross-mdt request from master MDT. Thus if DNE2
client tries to "mkdir -i 1" on DNE1 server, then
LBUG happened.

This patch adds OBD_CONNECT_DIR_STRIPE connection
flag check on client side. If striped directories are not
supported by server, then create requrest is sent to
master MDT.
Signed-off-by: default avatarArtem Blagodarenko <artem_blagodarenko@xyratex.com>
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6071
Xyratex-bug-id: MRP-2319
Reviewed-on: http://review.whamcloud.com/13189Reviewed-by: default avatarAndreas Dilger <andreas.dilger@intel.com>
Reviewed-by: default avatarwang di <di.wang@intel.com>
Reviewed-by: default avatarOleg Drokin <oleg.drokin@intel.com>
Signed-off-by: default avatarJames Simmons <jsimmons@infradead.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 7ebb0ef3
......@@ -1688,15 +1688,19 @@ static int lmv_create(struct obd_export *exp, struct md_op_data *op_data,
if (rc)
return rc;
/*
* Send the create request to the MDT where the object
* will be located
*/
tgt = lmv_find_target(lmv, &op_data->op_fid2);
if (IS_ERR(tgt))
return PTR_ERR(tgt);
if (exp_connect_flags(exp) & OBD_CONNECT_DIR_STRIPE) {
/*
* Send the create request to the MDT where the object
* will be located
*/
tgt = lmv_find_target(lmv, &op_data->op_fid2);
if (IS_ERR(tgt))
return PTR_ERR(tgt);
op_data->op_mds = tgt->ltd_idx;
op_data->op_mds = tgt->ltd_idx;
} else {
CDEBUG(D_CONFIG, "Server doesn't support striped dirs\n");
}
CDEBUG(D_INODE, "CREATE obj "DFID" -> mds #%x\n",
PFID(&op_data->op_fid1), op_data->op_mds);
......
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