libnvdimm, btt: fix a missed NVDIMM_IO_ATOMIC case in the write path
authorVishal Verma <vishal.l.verma@intel.com>
Thu, 31 Aug 2017 01:35:58 +0000 (19:35 -0600)
committerDan Williams <dan.j.williams@intel.com>
Thu, 31 Aug 2017 21:31:38 +0000 (14:31 -0700)
commit1db1f3cea1d8886c686832d4618b346ae16c03c8
treece3cec4310270efbfec5b124ff5439e62e4bf26e
parenta15797f4bef201544263ef5c264c3f48d78cc5d4
libnvdimm, btt: fix a missed NVDIMM_IO_ATOMIC case in the write path

The IO context conversion for rw_bytes missed a case in the BTT write
path (btt_map_write) which should've been marked as atomic.

In reality this should not cause a problem, because map writes are to
small for nsio_rw_bytes to attempt error clearing, but it should be
fixed for posterity.

Add a might_sleep() in the non-atomic section of nsio_rw_bytes so that
things like the nfit unit tests, which don't actually sleep, can catch
bugs like this.

Cc: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/nvdimm/btt.c
drivers/nvdimm/claim.c