From c8c56b9a53471792a126f8e46f32ce7190eac10c Mon Sep 17 00:00:00 2001 From: Kotresh HR Date: Tue, 1 Aug 2017 07:51:44 -0400 Subject: feature/posix: Enabled gfid2path by default Enable gfid2path feature by default. The basic performance tests are carried out and it doesn't show significant depreciation. The results are updated in issue. Updates: #139 Change-Id: I5f1949a608d0827018ef9d548d5d69f3bb7744fd > Signed-off-by: Kotresh HR > Reviewed-on: https://review.gluster.org/17950 > Smoke: Gluster Build System > CentOS-regression: Gluster Build System > Reviewed-by: Aravinda VK > Reviewed-by: Amar Tumballi (cherry picked from commit 3ec63650bb7fd874a5013e7be4a2def3b519c9b2) Reviewed-on: https://review.gluster.org/18133 Reviewed-by: Amar Tumballi Smoke: Gluster Build System Tested-by: Shyamsundar Ranganathan CentOS-regression: Gluster Build System Reviewed-by: Shyamsundar Ranganathan --- tests/basic/afr/gfid-heal.t | 2 +- tests/bugs/unclassified/bug-874498.t | 2 +- tests/gfid2path/block-mount-access.t | 3 --- tests/gfid2path/get-gfid-to-path.t | 3 --- tests/gfid2path/gfid2path_fuse.t | 3 +++ tests/gfid2path/gfid2path_nfs.t | 3 --- xlators/mgmt/glusterd/src/glusterd-volume-set.c | 1 + xlators/storage/posix/src/posix.c | 16 +++------------- 8 files changed, 9 insertions(+), 24 deletions(-) diff --git a/tests/basic/afr/gfid-heal.t b/tests/basic/afr/gfid-heal.t index fa13c469b24..5e26e3307eb 100644 --- a/tests/basic/afr/gfid-heal.t +++ b/tests/basic/afr/gfid-heal.t @@ -8,7 +8,7 @@ cleanup; function get_gfid_count { - getfattr -d -m. -e hex $B0/brick{0,1,2,3,4,5}/$1 2>&1 | grep trusted.gfid | wc -l + getfattr -d -m. -e hex $B0/brick{0,1,2,3,4,5}/$1 2>&1 | grep trusted.gfid | grep -v gfid2path | wc -l } TEST glusterd diff --git a/tests/bugs/unclassified/bug-874498.t b/tests/bugs/unclassified/bug-874498.t index a2a9f376bbe..2aa9b168a8a 100644 --- a/tests/bugs/unclassified/bug-874498.t +++ b/tests/bugs/unclassified/bug-874498.t @@ -26,7 +26,7 @@ function get_gfid() { path_of_file=$1 -gfid_value=`getfattr -d -m . $path_of_file -e hex 2>/dev/null | grep trusted.gfid | cut --complement -c -15 | sed 's/\([a-f0-9]\{8\}\)\([a-f0-9]\{4\}\)\([a-f0-9]\{4\}\)\([a-f0-9]\{4\}\)/\1-\2-\3-\4-/'` +gfid_value=`getfattr -d -m . $path_of_file -e hex 2>/dev/null | grep trusted.gfid | grep -v gfid2path | cut --complement -c -15 | sed 's/\([a-f0-9]\{8\}\)\([a-f0-9]\{4\}\)\([a-f0-9]\{4\}\)\([a-f0-9]\{4\}\)/\1-\2-\3-\4-/'` echo $gfid_value } diff --git a/tests/gfid2path/block-mount-access.t b/tests/gfid2path/block-mount-access.t index 2130927504a..b1726ad9604 100644 --- a/tests/gfid2path/block-mount-access.t +++ b/tests/gfid2path/block-mount-access.t @@ -21,9 +21,6 @@ EXPECT_WITHIN $CHILD_UP_TIMEOUT "1" afr_child_up_status_in_shd $V0 0 EXPECT_WITHIN $CHILD_UP_TIMEOUT "1" afr_child_up_status_in_shd $V0 1 TEST $GFS --volfile-id=$V0 --volfile-server=$H0 $M0; -## enable gfid2path -TEST $CLI volume set $V0 gfid2path enable - ## Mount the volume TEST $GFS --volfile-server=$H0 --volfile-id=$V0 $M0; diff --git a/tests/gfid2path/get-gfid-to-path.t b/tests/gfid2path/get-gfid-to-path.t index 71c2c2fab70..dea95f4c9f8 100644 --- a/tests/gfid2path/get-gfid-to-path.t +++ b/tests/gfid2path/get-gfid-to-path.t @@ -20,9 +20,6 @@ EXPECT_WITHIN $PROCESS_UP_TIMEOUT "Y" glustershd_up_status EXPECT_WITHIN $CHILD_UP_TIMEOUT "1" afr_child_up_status_in_shd $V0 0 EXPECT_WITHIN $CHILD_UP_TIMEOUT "1" afr_child_up_status_in_shd $V0 1 -## enable gfid2path -TEST $CLI volume set $V0 gfid2path enable - ## Mount the volume TEST $GFS --volfile-server=$H0 --aux-gfid-mount --volfile-id=$V0 $M0; diff --git a/tests/gfid2path/gfid2path_fuse.t b/tests/gfid2path/gfid2path_fuse.t index a66ab183683..c7e79466673 100644 --- a/tests/gfid2path/gfid2path_fuse.t +++ b/tests/gfid2path/gfid2path_fuse.t @@ -30,6 +30,9 @@ EXPECT 'Started' volinfo_field $V0 'Status'; ## Mount the volume TEST $GFS --volfile-server=$H0 --volfile-id=$V0 $M0; +## disable gfid2path +TEST $CLI volume set $V0 gfid2path disable + pgfid="00000000-0000-0000-0000-000000000001" xxh64_file=$B0/${V0}1/xxh64_file diff --git a/tests/gfid2path/gfid2path_nfs.t b/tests/gfid2path/gfid2path_nfs.t index 4e229dbb99f..239dafd46fb 100644 --- a/tests/gfid2path/gfid2path_nfs.t +++ b/tests/gfid2path/gfid2path_nfs.t @@ -28,9 +28,6 @@ TEST $CLI volume set $V0 nfs.disable false TEST $CLI volume start $V0; EXPECT 'Started' volinfo_field $V0 'Status'; -## enable gfid2path -TEST $CLI volume set $V0 gfid2path enable - ## Wait for volume to register with rpc.mountd EXPECT_WITHIN $NFS_EXPORT_TIMEOUT "1" is_nfs_export_available diff --git a/xlators/mgmt/glusterd/src/glusterd-volume-set.c b/xlators/mgmt/glusterd/src/glusterd-volume-set.c index 377a417b28b..a147708f63c 100644 --- a/xlators/mgmt/glusterd/src/glusterd-volume-set.c +++ b/xlators/mgmt/glusterd/src/glusterd-volume-set.c @@ -2792,6 +2792,7 @@ struct volopt_map_entry glusterd_volopt_map[] = { }, { .option = "gfid2path", .key = "storage.gfid2path", + .type = NO_DOC, .voltype = "storage/posix", .op_version = GD_OP_VERSION_3_12_0, }, diff --git a/xlators/storage/posix/src/posix.c b/xlators/storage/posix/src/posix.c index 188b378a58b..d858878d3e8 100644 --- a/xlators/storage/posix/src/posix.c +++ b/xlators/storage/posix/src/posix.c @@ -7612,18 +7612,6 @@ init (xlator_t *this) " set."); } - tmp_data = dict_get (this->options, "gfid2path"); - if (tmp_data) { - if (gf_string2boolean (tmp_data->data, - &_private->gfid2path) == -1) { - ret = -1; - gf_msg (this->name, GF_LOG_ERROR, 0, - P_MSG_INVALID_OPTION, "wrong value provided " - "for 'gfid2path'"); - goto out; - } - } - ret = dict_get_str (this->options, "glusterd-uuid", &guuid); if (!ret) { if (gf_uuid_parse (guuid, _private->glusterd_uuid)) @@ -7783,6 +7771,8 @@ init (xlator_t *this) goto out; } + GF_OPTION_INIT ("gfid2path", _private->gfid2path, bool, out); + GF_OPTION_INIT ("gfid2path-separator", gfid2path_sep, str, out); if (set_gfid2path_separator (_private, gfid2path_sep) != 0) { gf_msg (this->name, GF_LOG_ERROR, 0, P_MSG_INVALID_ARGUMENT, @@ -7977,7 +7967,7 @@ struct volume_options options[] = { }, { .key = {"gfid2path"}, .type = GF_OPTION_TYPE_BOOL, - .default_value = "off", + .default_value = "on", .description = "Enable logging metadata for gfid to path conversion" }, { .key = {"gfid2path-separator"}, -- cgit