X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Fmdc%2Fmdc_locks.c;h=8ab2f4bef5bf1d3aa7e1295b315ab8edbc69b92c;hp=cd7792e16c04fc511efb23bbc6b99f189ccaaa40;hb=32becabb43b6e8f21c030c23c01c3f02e351eaea;hpb=e6ebfa0a2f0af01073907dde4e936960ed9280e5 diff --git a/lustre/mdc/mdc_locks.c b/lustre/mdc/mdc_locks.c index cd7792e..8ab2f4b 100644 --- a/lustre/mdc/mdc_locks.c +++ b/lustre/mdc/mdc_locks.c @@ -111,11 +111,15 @@ int it_open_error(int phase, struct lookup_intent *it) EXPORT_SYMBOL(it_open_error); /* this must be called on a lockh that is known to have a referenced lock */ -int mdc_set_lock_data(struct obd_export *exp, __u64 *lockh, void *data) +int mdc_set_lock_data(struct obd_export *exp, __u64 *lockh, void *data, + __u32 *bits) { struct ldlm_lock *lock; ENTRY; + if(bits) + *bits = 0; + if (!*lockh) { EXIT; RETURN(0); @@ -138,6 +142,9 @@ int mdc_set_lock_data(struct obd_export *exp, __u64 *lockh, void *data) } #endif lock->l_ast_data = data; + if (bits) + *bits = lock->l_policy_data.l_inodebits.bits; + unlock_res_and_lock(lock); LDLM_LOCK_PUT(lock);