aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md/dm-bio-prison.c
diff options
context:
space:
mode:
authorMike Snitzer <snitzer@redhat.com>2014-05-22 14:32:51 -0400
committerMike Snitzer <snitzer@redhat.com>2014-06-03 13:44:08 -0400
commitaf91805a497d3aa694704172b41ba953be3738ed (patch)
tree44c0ba130abac57125d7aff148b07d0f2d3e3f0b /drivers/md/dm-bio-prison.c
parentdm thin: cleanup noflush_work to use a proper completion (diff)
downloadlinux-dev-af91805a497d3aa694704172b41ba953be3738ed.tar.xz
linux-dev-af91805a497d3aa694704172b41ba953be3738ed.zip
dm thin: return ENOSPC instead of EIO when error_if_no_space enabled
Update the DM thin provisioning target's allocation failure error to be consistent with commit a9d6ceb8 ("[SCSI] return ENOSPC on thin provisioning failure"). The DM thin target now returns -ENOSPC rather than -EIO when block allocation fails due to the pool being out of data space (and the 'error_if_no_space' thin-pool feature is enabled). Signed-off-by: Mike Snitzer <snitzer@redhat.com> Acked-By: Joe Thornber <ejt@redhat.com>
Diffstat (limited to 'drivers/md/dm-bio-prison.c')
-rw-r--r--drivers/md/dm-bio-prison.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/md/dm-bio-prison.c b/drivers/md/dm-bio-prison.c
index 85f0b7074257..71434382cb64 100644
--- a/drivers/md/dm-bio-prison.c
+++ b/drivers/md/dm-bio-prison.c
@@ -238,7 +238,7 @@ void dm_cell_release_no_holder(struct dm_bio_prison *prison,
EXPORT_SYMBOL_GPL(dm_cell_release_no_holder);
void dm_cell_error(struct dm_bio_prison *prison,
- struct dm_bio_prison_cell *cell)
+ struct dm_bio_prison_cell *cell, int error)
{
struct bio_list bios;
struct bio *bio;
@@ -251,7 +251,7 @@ void dm_cell_error(struct dm_bio_prison *prison,
spin_unlock_irqrestore(&prison->lock, flags);
while ((bio = bio_list_pop(&bios)))
- bio_io_error(bio);
+ bio_endio(bio, error);
}
EXPORT_SYMBOL_GPL(dm_cell_error);