X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;ds=sidebyside;f=lustre%2Fosc%2Fosc_page.c;h=e405d4cdd1099bb032fe2c15aaa8195a1f6d4dbe;hb=3f3a24dc5d7d;hp=8d6d69df046b3aa112073355a72432e52660202c;hpb=a8ba5c645f91faf86a84c99dd2cc049bc54e12b1;p=fs%2Flustre-release.git diff --git a/lustre/osc/osc_page.c b/lustre/osc/osc_page.c index 8d6d69d..e405d4c 100644 --- a/lustre/osc/osc_page.c +++ b/lustre/osc/osc_page.c @@ -236,17 +236,17 @@ static int osc_page_is_under_lock(const struct lu_env *env, const struct cl_page_slice *slice, struct cl_io *unused, pgoff_t *max_index) { - struct osc_page *opg = cl2osc_page(slice); - struct cl_lock *lock; - int result = -ENODATA; - ENTRY; + struct osc_page *opg = cl2osc_page(slice); + struct ldlm_lock *dlmlock; + int result = -ENODATA; - *max_index = 0; - lock = cl_lock_at_pgoff(env, slice->cpl_obj, osc_index(opg), - NULL, 1, 0); - if (lock != NULL) { - *max_index = lock->cll_descr.cld_end; - cl_lock_put(env, lock); + ENTRY; + dlmlock = osc_dlmlock_at_pgoff(env, cl2osc(slice->cpl_obj), + osc_index(opg), 1, 0); + if (dlmlock != NULL) { + *max_index = cl_index(slice->cpl_obj, + dlmlock->l_policy_data.l_extent.end); + LDLM_LOCK_PUT(dlmlock); result = 0; } RETURN(result);