[DLM] fix size of STATUS_REPLY message
When the not_ready routine sends a "fake" status reply with blank status flags, it needs to use the correct size for a normal STATUS_REPLY by including the size of the would-be config parameters. We also fill in the non-existant config parameters with an invalid lvblen value so it's easier to notice if these invalid paratmers are ever being used. Signed-off-by: David Teigland <teigland@redhat.com> Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
This commit is contained in:
parent
aed3255f22
commit
1babdb4531
1 changed files with 5 additions and 1 deletions
|
@ -370,9 +370,10 @@ static void receive_rcom_lock_reply(struct dlm_ls *ls, struct dlm_rcom *rc_in)
|
|||
static int send_ls_not_ready(int nodeid, struct dlm_rcom *rc_in)
|
||||
{
|
||||
struct dlm_rcom *rc;
|
||||
struct rcom_config *rf;
|
||||
struct dlm_mhandle *mh;
|
||||
char *mb;
|
||||
int mb_len = sizeof(struct dlm_rcom);
|
||||
int mb_len = sizeof(struct dlm_rcom) + sizeof(struct rcom_config);
|
||||
|
||||
mh = dlm_lowcomms_get_buffer(nodeid, mb_len, GFP_KERNEL, &mb);
|
||||
if (!mh)
|
||||
|
@ -391,6 +392,9 @@ static int send_ls_not_ready(int nodeid, struct dlm_rcom *rc_in)
|
|||
rc->rc_id = rc_in->rc_id;
|
||||
rc->rc_result = -ESRCH;
|
||||
|
||||
rf = (struct rcom_config *) rc->rc_buf;
|
||||
rf->rf_lvblen = -1;
|
||||
|
||||
dlm_rcom_out(rc);
|
||||
dlm_lowcomms_commit_buffer(mh);
|
||||
|
||||
|
|
Loading…
Reference in a new issue