"Verma, Vishal L" <vishal.l.verma@xxxxxxxxx> writes: > On Thu, 2023-10-05 at 14:16 -0700, Dan Williams wrote: >> Vishal Verma wrote: >> > > <..> > >> > + >> > + rc = kstrtobool(buf, &val); >> > + if (rc) >> > + return rc; >> >> Perhaps: >> >> if (dev_dax->memmap_on_memory == val) >> return len; >> >> ...and skip the check below when it is going to be a nop >> >> > + >> > + device_lock(dax_region->dev); >> > + if (!dax_region->dev->driver) { >> >> Is the polarity backwards here? I.e. if the device is already attached to >> the kmem driver it is too late to modify memmap_on_memory policy. > > Hm this sounded logical until I tried it. After a reconfigure-device to > devdax (i.e. detach kmem), I get the -EBUSY if I invert this check. Can you try to unbind the device via sysfs by hand and retry? -- Best Regards, Huang, Ying >> >> > + device_unlock(dax_region->dev); >> > + return -ENXIO; >> [snip]