diff options
author | Avra Sengupta <asengupt@redhat.com> | 2013-02-26 11:37:30 +0530 |
---|---|---|
committer | Anand Avati <avati@redhat.com> | 2013-03-01 14:52:32 -0800 |
commit | 1ffe690f563804ba1a87d3f526de32bc64e1a2cc (patch) | |
tree | c3491297adfe29cbf8fe004457d867111ef503f0 | |
parent | 9dac72481beb92547d3554b3355f3497a73a7fff (diff) |
Modified validation parameters for owner-uid and owner-gid.
owner-uid and owner-gid will not receive negative values anymore.
Change-Id: I82741d3d01b29e448294b2ec093fb70d22a5c77e
BUG: 912297
Signed-off-by: Avra Sengupta <asengupt@redhat.com>
Reviewed-on: http://review.gluster.org/4581
Reviewed-by: Amar Tumballi <amarts@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
-rwxr-xr-x | tests/bugs/bug-912297.t | 44 | ||||
-rw-r--r-- | xlators/storage/posix/src/posix.c | 4 |
2 files changed, 48 insertions, 0 deletions
diff --git a/tests/bugs/bug-912297.t b/tests/bugs/bug-912297.t new file mode 100755 index 00000000000..f5a5babf5f3 --- /dev/null +++ b/tests/bugs/bug-912297.t @@ -0,0 +1,44 @@ +#!/bin/bash + +. $(dirname $0)/../include.rc +. $(dirname $0)/../volume.rc + +cleanup; + +## Start and create a volume +TEST glusterd; +TEST pidof glusterd; +TEST $CLI volume create $V0 replica 2 stripe 2 $H0:$B0/${V0}{1,2,3,4,5,6,7,8}; + +## Verify volume is is created +EXPECT "$V0" volinfo_field $V0 'Volume Name'; +EXPECT 'Created' volinfo_field $V0 'Status'; + +## Start volume and verify +TEST $CLI volume start $V0; +EXPECT 'Started' volinfo_field $V0 'Status'; + +## Setting owner-uid as -12 +TEST ! $CLI volume set $V0 owner-uid -12 +EXPECT '' volinfo_field $V0 'storage.owner-uid' + +## Setting owner-gid as -5 +TEST ! $CLI volume set $V0 owner-gid -5 +EXPECT '' volinfo_field $V0 'storage.owner-gid' + +## Setting owner-uid as 36 +TEST $CLI volume set $V0 owner-uid 36 +EXPECT '36' volinfo_field $V0 'storage.owner-uid' + +## Setting owner-gid as 36 +TEST $CLI volume set $V0 owner-gid 36 +EXPECT '36' volinfo_field $V0 'storage.owner-gid' + +## Finish up +TEST $CLI volume stop $V0; +EXPECT 'Stopped' volinfo_field $V0 'Status'; + +TEST $CLI volume delete $V0; +TEST ! $CLI volume info $V0; + +cleanup; diff --git a/xlators/storage/posix/src/posix.c b/xlators/storage/posix/src/posix.c index 1a7a2c75123..44aeca356ba 100644 --- a/xlators/storage/posix/src/posix.c +++ b/xlators/storage/posix/src/posix.c @@ -4541,11 +4541,15 @@ struct volume_options options[] = { { .key = {"brick-uid"}, .type = GF_OPTION_TYPE_INT, + .min = 0, + .validate = GF_OPT_VALIDATE_MIN, .description = "Support for setting uid of brick's owner" }, { .key = {"brick-gid"}, .type = GF_OPTION_TYPE_INT, + .min = 0, + .validate = GF_OPT_VALIDATE_MIN, .description = "Support for setting gid of brick's owner" }, { .key = {NULL} } |