From: adilger Date: Tue, 9 Mar 2004 09:36:08 +0000 (+0000) Subject: Don't allocate zero-length LVBs on the MDS. Verified that all users of X-Git-Tag: 1.2.2~223 X-Git-Url: https://git.whamcloud.com/gitweb?a=commitdiff_plain;h=8d53611e3f0c190ce75dba086b7dac1604d695ae;p=fs%2Flustre-release.git Don't allocate zero-length LVBs on the MDS. Verified that all users of l_lvb_data check l_lvb_len != 0 before using, and tested of course. b=1012 --- diff --git a/lustre/ldlm/ldlm_lock.c b/lustre/ldlm/ldlm_lock.c index 0e7f0b0..b5b0e33 100644 --- a/lustre/ldlm/ldlm_lock.c +++ b/lustre/ldlm/ldlm_lock.c @@ -752,11 +752,13 @@ struct ldlm_lock *ldlm_lock_create(struct ldlm_namespace *ns, lock->l_completion_ast = completion; lock->l_glimpse_ast = glimpse; - lock->l_lvb_len = lvb_len; - OBD_ALLOC(lock->l_lvb_data, lvb_len); - if (lock->l_lvb_data == NULL) { - OBD_SLAB_FREE(lock, ldlm_lock_slab, sizeof(*lock)); - RETURN(NULL); + if (lvb_len) { + lock->l_lvb_len = lvb_len; + OBD_ALLOC(lock->l_lvb_data, lvb_len); + if (lock->l_lvb_data == NULL) { + OBD_SLAB_FREE(lock, ldlm_lock_slab, sizeof(*lock)); + RETURN(NULL); + } } RETURN(lock);