On Wed, Feb 13, 2019 at 12:12 AM Brice Goglin <brice.gog...@inria.fr> wrote: > > Le 13/02/2019 à 01:30, Dan Williams a écrit : > > On Tue, Feb 12, 2019 at 11:59 AM Brice Goglin <brice.gog...@inria.fr> wrote: > >> # ndctl disable-region all > >> # ndctl zero-labels all > >> # ndctl enable-region region0 > >> # ndctl create-namespace -r region0 -t pmem -m devdax > >> { > >> "dev":"namespace0.0", > >> "mode":"devdax", > >> "map":"dev", > >> "size":"1488.37 GiB (1598.13 GB)", > >> "uuid":"ad0096d7-3fe7-4402-b529-ad64ed0bf789", > >> "daxregion":{ > >> "id":0, > >> "size":"1488.37 GiB (1598.13 GB)", > >> "align":2097152, > >> "devices":[ > >> { > >> "chardev":"dax0.0", > >> "size":"1488.37 GiB (1598.13 GB)" > >> } > >> ] > >> }, > >> "align":2097152 > >> } > >> # ndctl enable-namespace namespace0.0 > >> # echo -n dax0.0 > /sys/bus/dax/drivers/device_dax/remove_id > >> <hang> > >> > >> I tried with and without dax_pmem_compat loaded, but it doesn't help. > > I think this is due to: > > > > a9f1ffdb6a20 device-dax: Auto-bind device after successful new_id > > > > I missed that this path is also called in the remove_id path. Thanks > > for the bug report! I'll get this fixed up. > > > Now that remove_id is fixed, things fails later in Dave's procedure: > > # echo -n dax0.0 > /sys/bus/dax/drivers/device_dax/remove_id > # echo -n dax0.0 > /sys/bus/dax/drivers/device_dax/unbind > # echo -n dax0.0 > /sys/bus/dax/drivers/kmem/new_id
In the current version of the code the bind is not necessary, so the lack of error messages here means the bind succeeded. > # echo -n dax0.0 > /sys/bus/dax/drivers/kmem/bind > -bash: echo: write error: No such device This also happens when the device is already bound. > > (And nothing seems to have changed in /sys/devices/system/memory/*/state) What does "cat /proc/iomem" say?