summaryrefslogtreecommitdiffstats
path: root/cmd/zpool/zpool_main.c
diff options
context:
space:
mode:
authorOlaf Faaland <[email protected]>2017-07-24 08:48:28 -0700
committerBrian Behlendorf <[email protected]>2017-07-25 12:25:05 -0400
commitffb195c256f8a74a87c3834258ec90c513d66adb (patch)
tree07c0c43142ed997d8d5105ca05c802a859b8cd77 /cmd/zpool/zpool_main.c
parentf43615d0cc22d7db496c1291c84e64e269ca51d9 (diff)
Release SCL_STATE in map_write_done()
The config lock must be held for the duration of the MMP write. Since the I/Os are executed via map_nowait(), the done function is the only place where we know the write has completed. Since SCL_STATE is taken as reader, overlapping I/Os do not create a deadlock. The refcount is simply increased when new I/Os are queued and decreased when I/Os complete. Test case added which exercises the probe IO call path to verify the fix and prevent a regression. Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Olaf Faaland <[email protected]> Closes #6394
Diffstat (limited to 'cmd/zpool/zpool_main.c')
0 files changed, 0 insertions, 0 deletions