aboutsummaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
authorHannes Reinecke <hare@suse.de>2015-07-15 13:23:24 +0200
committerMike Snitzer <snitzer@redhat.com>2016-09-29 10:57:07 -0400
commit8ff232c1a819c2e98d85974a3bff0b7b8e2970ed (patch)
treedb6ad1ed59eb2910d8b4b1050bf5fce0630882d7 /block
parentdm bufio: remove dm_bufio_cond_resched() (diff)
downloadlinux-dev-8ff232c1a819c2e98d85974a3bff0b7b8e2970ed.tar.xz
linux-dev-8ff232c1a819c2e98d85974a3bff0b7b8e2970ed.zip
dm mpath: always return reservation conflict without failing over
If dm-mpath encounters an reservation conflict it should not fail the path (as communication with the target is not affected) but should rather retry on another path. However, in doing so we might be inducing a ping-pong between paths, with no guarantee of any forward progress. And arguably a reservation conflict is an unexpected error, so we should be passing it upwards to allow the application to take appropriate steps. This change resolves a show-stopper problem seen with the pNFS SCSI layout because it is trivial to hit reservation conflict based failover loops without it. Doubts were raised about the implications of this change relative to products like IBM's SVC. But there is little point withholding a fix for Linux because a proprietary product may or may not have some issues in its implementation of how it interfaces with Linux. In the future, if there is glaring evidence that this change is certainly problematic we can revisit it. Signed-off-by: Hannes Reinecke <hare@suse.de> Acked-by: Christoph Hellwig <hch@lst.de> Tested-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Mike Snitzer <snitzer@redhat.com> # tweaked header
Diffstat (limited to 'block')
0 files changed, 0 insertions, 0 deletions