On 2020/9/3 00:51, Mike Snitzer wrote: > On Wed, Sep 02 2020 at 12:46pm -0400, > Coly Li <colyli@xxxxxxx> wrote: > >> On 2020/9/3 00:44, Mike Snitzer wrote: >>> On Wed, Sep 02 2020 at 12:40pm -0400, >>> Coly Li <colyli@xxxxxxx> wrote: >>> >>>> On 2020/9/3 00:04, Mike Snitzer wrote: >>>>> 5.9 commit 231609785cbfb ("dax: print error message by pr_info() in >>>>> __generic_fsdax_supported()") switched from pr_debug() to pr_info(). >>>>> >>>>> The justification in the commit header is really inadequate. If there >>>>> is a problem that you need to drill in on, repeat the testing after >>>>> enabling the dynamic debugging. >>>>> >>>>> Otherwise, now all DM devices that aren't layered on DAX capable devices >>>>> spew really confusing noise to users when they simply activate their >>>>> non-DAX DM devices: >>>>> >>>>> [66567.129798] dm-6: error: dax access failed (-5) >>>>> [66567.134400] dm-6: error: dax access failed (-5) >>>>> [66567.139152] dm-6: error: dax access failed (-5) >>>>> [66567.314546] dm-2: error: dax access failed (-95) >>>>> [66567.319380] dm-2: error: dax access failed (-95) >>>>> [66567.324254] dm-2: error: dax access failed (-95) >>>>> [66567.479025] dm-2: error: dax access failed (-95) >>>>> [66567.483713] dm-2: error: dax access failed (-95) >>>>> [66567.488722] dm-2: error: dax access failed (-95) >>>>> [66567.494061] dm-2: error: dax access failed (-95) >>>>> [66567.498823] dm-2: error: dax access failed (-95) >>>>> [66567.503693] dm-2: error: dax access failed (-95) >>>>> >>>>> commit 231609785cbfb must be reverted. >>>>> >>>>> Please advise, thanks. >>>> >>>> Adrian Huang from Lenovo posted a patch, which titled: dax: do not print >>>> error message for non-persistent memory block device >>>> >>>> It fixes the issue, but no response for now. Maybe we should take this fix. >>> >>> OK, yes sounds like it. It was merged and is commit c2affe920b0e066 >>> ("dax: do not print error message for non-persistent memory block >>> device") >> >> Thanks for informing me this patch is merged, I am going to update my >> local one :-) > > So the thing is I'm running v5.9-rc3 (which includes this commit) but > I'm still seeing all these warnings when I run the lvm2 testsuite. The > reason _seems_ to be because the lvm2 testsuite uses brd devices for > test devices. So there is something about the brd device that shows > commit c2affe920b0e066 isn't enough :( Could you please apply and test this attached patch based on v5.9-rc3 ? It seems the pointer dax_dev of __generic_fsdax_supported() parameter is not initialized (IMHO this is not a dm bug), therefore the && should be || to check the dax support state. Also I add two pr_info() to print the variables value, let's see whether my guess makes sense. Thanks. Coly Li
From 3714b91362669c4d3e281acfe197e922a1dd1b4a Mon Sep 17 00:00:00 2001 From: Coly Li <colyli@xxxxxxx> Date: Thu, 3 Sep 2020 12:25:13 +0800 Subject: [PATCH] dax: fix for do not print error message for non-persistent memory block device When calling __generic_fsdax_supported(), a dax-unsupported device may not have dax_dev as NULL. Therefore even dax_dev is not NULL, it is still necessary to call bdev_dax_supported() to check whether the device supports dax. Signed-off-by: Coly Li <colyli@xxxxxxx> --- drivers/dax/super.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/dax/super.c b/drivers/dax/super.c index 32642634c1bb..a5bdfca0529a 100644 --- a/drivers/dax/super.c +++ b/drivers/dax/super.c @@ -100,7 +100,9 @@ bool __generic_fsdax_supported(struct dax_device *dax_dev, return false; } - if (!dax_dev && !bdev_dax_supported(bdev, blocksize)) { + pr_info("dax_dev: %p\n", dax_dev); + pr_info("bdev_dax_supported(): %d\n", bdev_dax_supported(bdev, blocksize)); + if (!dax_dev || !bdev_dax_supported(bdev, blocksize)) { pr_debug("%s: error: dax unsupported by block device\n", bdevname(bdev, buf)); return false; -- 2.26.2
-- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel