On 10/14/2021 3:57 PM, Ralph Campbell wrote:
On 10/14/21 11:01 AM, Jason Gunthorpe wrote:
On Thu, Oct 14, 2021 at 10:35:27AM -0700, Ralph Campbell wrote:
I ran xfstests-dev using the kernel boot option to "fake" a pmem device when I first posted this patch. The tests ran OK (or at least the same tests passed with and without my patch).
Hmm. I know nothing of xfstests but
tests/generic/413
Looks kind of like it might cover this situation?
Did it run for you?
Jason
I don't remember. I'll have to rerun the test which might take a day or two to set up again.
I just ran this generic/413 on my side using pmem fake device. It does fail. I remember we proposed a fix on this patch before try_get_page was removed. @@ -1186,7 +1153,7 @@ bool __must_check try_grab_page(struct page *page, unsigned int flags); static inline __must_check bool try_get_page(struct page *page) { page = compound_head(page); - if (WARN_ON_ONCE(page_ref_count(page) <= 0)) + if (WARN_ON_ONCE(page_ref_count(page) < (int)!is_zone_device_page(page))) return false; page_ref_inc(page); return true;
Alex