diff options
author | Mikulas Patocka <mpatocka@redhat.com> | 2009-06-22 05:12:19 -0400 |
---|---|---|
committer | Alasdair G Kergon <agk@redhat.com> | 2009-06-22 05:12:19 -0400 |
commit | fdb9572b73abd008b80931c3b1f157dac3888bb9 (patch) | |
tree | ae84d6ed1c97e77d536d0bcf2e25fa35d5cbfcba /drivers/md | |
parent | 5aa2781d964e9835c441932110484bc454b5c207 (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.c | 2 |
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) | |||
555 | * a per-device variable for error reporting. | 555 | * a per-device variable for error reporting. |
556 | * Note that you can't touch the bio after end_io_acct | 556 | * Note that you can't touch the bio after end_io_acct |
557 | */ | 557 | */ |
558 | if (!md->barrier_error) | 558 | if (!md->barrier_error && io_error != -EOPNOTSUPP) |
559 | md->barrier_error = io_error; | 559 | md->barrier_error = io_error; |
560 | end_io_acct(io); | 560 | end_io_acct(io); |
561 | } else { | 561 | } else { |