diff options
-rw-r--r-- | fs/dlm/lock.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/fs/dlm/lock.c b/fs/dlm/lock.c index cdf2cb9297fd..d8e919bad41a 100644 --- a/fs/dlm/lock.c +++ b/fs/dlm/lock.c | |||
@@ -2430,8 +2430,12 @@ static int receive_request_args(struct dlm_ls *ls, struct dlm_lkb *lkb, | |||
2430 | 2430 | ||
2431 | DLM_ASSERT(is_master_copy(lkb), dlm_print_lkb(lkb);); | 2431 | DLM_ASSERT(is_master_copy(lkb), dlm_print_lkb(lkb);); |
2432 | 2432 | ||
2433 | if (receive_lvb(ls, lkb, ms)) | 2433 | if (lkb->lkb_exflags & DLM_LKF_VALBLK) { |
2434 | return -ENOMEM; | 2434 | /* lkb was just created so there won't be an lvb yet */ |
2435 | lkb->lkb_lvbptr = allocate_lvb(ls); | ||
2436 | if (!lkb->lkb_lvbptr) | ||
2437 | return -ENOMEM; | ||
2438 | } | ||
2435 | 2439 | ||
2436 | return 0; | 2440 | return 0; |
2437 | } | 2441 | } |