From: nikita Date: Tue, 30 May 2006 16:38:54 +0000 (+0000) Subject: add RQF_MDS_REINT_OPEN request format X-Git-Tag: v1_8_0_110~486^2~1729 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=8fcf9c5d2d9f55336aad24fb612673172f9cad58;p=fs%2Flustre-release.git add RQF_MDS_REINT_OPEN request format --- diff --git a/lustre/include/lustre_req_layout.h b/lustre/include/lustre_req_layout.h index 046b817..9772e24 100644 --- a/lustre/include/lustre_req_layout.h +++ b/lustre/include/lustre_req_layout.h @@ -89,6 +89,7 @@ extern const struct req_format RQF_MDS_DISCONNECT; extern const struct req_format RQF_MDS_GETATTR_NAME; extern const struct req_format RQF_MDS_REINT; extern const struct req_format RQF_MDS_REINT_CREATE; +extern const struct req_format RQF_MDS_REINT_OPEN; extern const struct req_format RQF_MDS_REINT_UNLINK; extern const struct req_format RQF_MDS_REINT_SETATTR; extern const struct req_format RQF_LDLM_ENQUEUE; @@ -101,6 +102,7 @@ extern const struct req_format RQF_LDLM_INTENT_UNLINK; extern const struct req_msg_field RMF_MDT_BODY; extern const struct req_msg_field RMF_OBD_STATFS; extern const struct req_msg_field RMF_NAME; +extern const struct req_msg_field RMF_SYMTGT; extern const struct req_msg_field RMF_TGTUUID; extern const struct req_msg_field RMF_CLUUID; /* diff --git a/lustre/ptlrpc/layout.c b/lustre/ptlrpc/layout.c index 3bc3c3b..4163e62 100644 --- a/lustre/ptlrpc/layout.c +++ b/lustre/ptlrpc/layout.c @@ -70,7 +70,14 @@ static const struct req_msg_field *mds_reint_client[] = { static const struct req_msg_field *mds_reint_create_client[] = { &RMF_REC_CREATE, - &RMF_NAME + &RMF_NAME, + &RMF_SYMTGT +}; + +static const struct req_msg_field *mds_reint_open_client[] = { + &RMF_REC_CREATE, + &RMF_NAME, + &RMF_EADATA }; static const struct req_msg_field *mds_reint_unlink_client[] = { @@ -122,14 +129,20 @@ static const struct req_msg_field *ldlm_intent_getattr_client[] = { &RMF_NAME }; -/* - * Used for open and create. - */ static const struct req_msg_field *ldlm_intent_create_client[] = { &RMF_DLM_REQ, &RMF_LDLM_INTENT, &RMF_REC_CREATE, /* coincides with mds_reint_create_client[] */ - &RMF_NAME + &RMF_NAME, + &RMF_EADATA +}; + +static const struct req_msg_field *ldlm_intent_open_client[] = { + &RMF_DLM_REQ, + &RMF_LDLM_INTENT, + &RMF_REC_CREATE, /* coincides with mds_reint_open_client[] */ + &RMF_NAME, + &RMF_SYMTGT }; static const struct req_msg_field *ldlm_intent_unlink_client[] = { @@ -148,6 +161,7 @@ static const struct req_format *req_formats[] = { &RQF_MDS_GETATTR_NAME, &RQF_MDS_REINT, &RQF_MDS_REINT_CREATE, + &RQF_MDS_REINT_OPEN, &RQF_MDS_REINT_UNLINK, &RQF_MDS_REINT_SETATTR, &RQF_LDLM_ENQUEUE, @@ -196,6 +210,10 @@ const struct req_msg_field RMF_NAME = DEFINE_MSGF("name", RMF_F_STRING, 0, NULL); EXPORT_SYMBOL(RMF_NAME); +const struct req_msg_field RMF_SYMTGT = + DEFINE_MSGF("symtgt", RMF_F_STRING, 0, NULL); +EXPORT_SYMBOL(RMF_SYMTGT); + const struct req_msg_field RMF_TGTUUID = DEFINE_MSGF("tgtuuid", RMF_F_STRING, sizeof(struct obd_uuid) - 1, NULL); EXPORT_SYMBOL(RMF_TGTUUID); @@ -330,6 +348,11 @@ const struct req_format RQF_MDS_REINT_CREATE = mds_reint_create_client, mdt_body_only); EXPORT_SYMBOL(RQF_MDS_REINT_CREATE); +const struct req_format RQF_MDS_REINT_OPEN = + DEFINE_REQ_FMT0("MDS_REINT_OPEN", + mds_reint_open_client, mdt_body_only); +EXPORT_SYMBOL(RQF_MDS_REINT_OPEN); + const struct req_format RQF_MDS_REINT_UNLINK = DEFINE_REQ_FMT0("MDS_REINT_UNLINK", mds_reint_unlink_client, mdt_body_only); @@ -366,7 +389,7 @@ EXPORT_SYMBOL(RQF_LDLM_INTENT_GETATTR); const struct req_format RQF_LDLM_INTENT_OPEN = DEFINE_REQ_FMT0("LDLM_INTENT_OPEN", - ldlm_intent_create_client, ldlm_intent_server); + ldlm_intent_open_client, ldlm_intent_server); EXPORT_SYMBOL(RQF_LDLM_INTENT_OPEN); const struct req_format RQF_LDLM_INTENT_CREATE =