diff options
author | NeilBrown <neilb@suse.de> | 2009-05-25 19:41:17 -0400 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2009-05-25 19:41:17 -0400 |
commit | 2b69c83924396ad1eda36fdd267c9d2f360f5555 (patch) | |
tree | 14c01b6dd6b596859835b3f0d176bf02129d2c45 /drivers/md/md.c | |
parent | 62e1e389f87a8839ad83b08c44691d1df8320846 (diff) |
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/md.c')
-rw-r--r-- | drivers/md/md.c | 2 |
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) | |||
3683 | if (strict_blocks_to_sectors(buf, §ors) < 0) | 3683 | if (strict_blocks_to_sectors(buf, §ors) < 0) |
3684 | return -EINVAL; | 3684 | return -EINVAL; |
3685 | if (mddev->pers && mddev->pers->size(mddev, 0, 0) < sectors) | 3685 | if (mddev->pers && mddev->pers->size(mddev, 0, 0) < sectors) |
3686 | return -EINVAL; | 3686 | return -E2BIG; |
3687 | 3687 | ||
3688 | mddev->external_size = 1; | 3688 | mddev->external_size = 1; |
3689 | } | 3689 | } |