summaryrefslogtreecommitdiff
path: root/drivers/md
diff options
context:
space:
mode:
authorMikulas Patocka <mpatocka@redhat.com>2009-06-22 10:12:19 +0100
committerAlasdair G Kergon <agk@redhat.com>2009-06-22 10:12:19 +0100
commitfdb9572b73abd008b80931c3b1f157dac3888bb9 (patch)
treeae84d6ed1c97e77d536d0bcf2e25fa35d5cbfcba /drivers/md
parent5aa2781d964e9835c441932110484bc454b5c207 (diff)
dm: remove EOPNOTSUPP for barriers
If the underlying device doesn't support barriers and dm receives a barrier, it waits until all requests on that device drain so it no longer needs to report -EOPNOTSUPP to the caller. This patch deals with the confusing situation when moving a volume from one physical device to another triggers an EOPNOTSUPP on a volume that didn't report it before. Signed-off-by: Mikulas Patocka <mpatocka@redhat.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Diffstat (limited to 'drivers/md')
-rw-r--r--drivers/md/dm.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/md/dm.c b/drivers/md/dm.c
index 77972090abe5..8498dc4ce1f0 100644
--- a/drivers/md/dm.c
+++ b/drivers/md/dm.c
@@ -555,7 +555,7 @@ static void dec_pending(struct dm_io *io, int error)
* a per-device variable for error reporting.
* Note that you can't touch the bio after end_io_acct
*/
- if (!md->barrier_error)
+ if (!md->barrier_error && io_error != -EOPNOTSUPP)
md->barrier_error = io_error;
end_io_acct(io);
} else {