summaryrefslogtreecommitdiffstats
path: root/drivers/md
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2009-05-26 01:41:17 +0200
committerNeilBrown <neilb@suse.de>2009-05-26 01:41:17 +0200
commit2b69c83924396ad1eda36fdd267c9d2f360f5555 (patch)
tree14c01b6dd6b596859835b3f0d176bf02129d2c45 /drivers/md
parentmd: always update level / chunk_size / layout when writing v1.x metadata. (diff)
downloadlinux-2b69c83924396ad1eda36fdd267c9d2f360f5555.tar.xz
linux-2b69c83924396ad1eda36fdd267c9d2f360f5555.zip
md: improve errno return when setting array_size
Instead of always returns EINVAL if anything goes wrong when setting the array size, add the option of E2BIG if the size requested is too large. This makes it easier for user-space to be sure what went wrong. Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'drivers/md')
-rw-r--r--drivers/md/md.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c
index aa79d55875f0..58e0b02a74c2 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -3683,7 +3683,7 @@ array_size_store(mddev_t *mddev, const char *buf, size_t len)
if (strict_blocks_to_sectors(buf, &sectors) < 0)
return -EINVAL;
if (mddev->pers && mddev->pers->size(mddev, 0, 0) < sectors)
- return -EINVAL;
+ return -E2BIG;
mddev->external_size = 1;
}