Jaegeuk, We have observed an issue in production with this patch. (ihttps://bugs.chromium.org/p/chromium/issues/detail?id=938958#c38) If we mount -o loop,offset=... $file, mount will issue 2 ioctl back to back: - LOOP_SET_FD - LOOP_SET_STATUS64 with offset change. Looking at kill_bdev, it calls truncate_inode_pages(). From its comment, mapping->nrpages can still be non-zero: """ * Note: When this function returns, there can be a page in the process of * deletion (inside __delete_from_page_cache()) in the specified range. Thus * mapping->nrpages can be non-zero when this function returns even after * truncation of the whole mapping. """ It is therefore possible to have truncated all the pages, but nr_page still be !0. We would fail the mount with -EAGAIN while it was perfectly valid. Is the test for nrpages really necessary in the second part of the patch? Gwendal.