• D
    nvdimm: improve diagnosibility of namespaces · bd26d0d0
    Dmitry Krivenok 提交于
    In order to bind namespace to the driver user must first
    set all mandatory attributes in the following order:
    - uuid
    - size
    - sector_size (for blk namespace only)
    
    If the order is wrong, then user either won't be able to set
    the attribute or bind the namespace.
    
    This simple patch improves diagnosibility of common operations
    with namespaces by printing some details about the error
    instead of failing silently.
    
    Below are examples of error messages (assuming dyndbg is
    enabled for nvdimms):
    
    [/]# echo 4194304 > /sys/bus/nd/devices/region5/namespace5.0/size
    [  288.372612] nd namespace5.0: __size_store: uuid not set
    [  288.374839] nd namespace5.0: size_store: 400000 fail (-6)
    sh: write error: No such device or address
    [/]#
    
    [/]# echo namespace5.0 > /sys/bus/nd/drivers/nd_blk/bind
    [  554.671648] nd_blk namespace5.0: nvdimm_namespace_common_probe: sector size not set
    [  554.674688]  ndbus1: nd_blk.probe(namespace5.0) = -19
    sh: write error: No such device
    [/]#
    Signed-off-by: NDmitry V. Krivenok <krivenok.dmitry@gmail.com>
    Signed-off-by: NDan Williams <dan.j.williams@intel.com>
    bd26d0d0
namespace_devs.c 47.9 KB