In ll_dom_finish_open() check vmpage mapping still
exists after locking and exit otherwise. This can
happen if page has been truncated concurrently.
Signed-off-by: Mikhail Pershin <mpershin@whamcloud.com>
Change-Id: Ib6ef551673a40ad99baaa9bd620225c65ce34454
Reviewed-on: https://review.whamcloud.com/33087
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
break;
}
lock_page(vmpage);
+ if (vmpage->mapping == NULL) {
+ unlock_page(vmpage);
+ put_page(vmpage);
+ /* page was truncated */
+ GOTO(out_io, rc = -ENODATA);
+ }
clp = cl_page_find(env, obj, vmpage->index, vmpage,
CPT_CACHEABLE);
if (IS_ERR(clp)) {