Bug 764735 (GLUSTER-3003) - Modification of one of the options of volume is reflected in all the volumes in the nfs-server-volfile
Summary: Modification of one of the options of volume is reflected in all the volumes ...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: GLUSTER-3003
Product: GlusterFS
Classification: Community
Component: glusterd
Version: mainline
Hardware: x86_64
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Junaid
QA Contact:
URL:
Whiteboard:
: GLUSTER-2766 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-06-08 11:36 UTC by Junaid
Modified: 2013-08-06 22:37 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed:
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)
nfs-server.vol after executing the set command (4.51 KB, application/octet-stream)
2011-06-09 04:14 UTC, Junaid
no flags Details

Description Junaid 2011-06-08 08:37:23 UTC
*** Bug 2766 has been marked as a duplicate of this bug. ***

Comment 1 Junaid 2011-06-08 08:46:36 UTC
The problem here is while merging the graphs, we over write the values of the previous volume (if it has a similar option configured for it) with the value of the current merged graph. Thus, at the end the volfile contains the values of the graph that was merged last.

Comment 2 Junaid 2011-06-08 11:36:53 UTC
When there are 2 or more volumes, and an option is changed on one of the volumes, this change is reflected in all the volumes in the nfs-server volfile.

>volume info

Volume Name: marker
Type: Distribute
Status: Started
Number of Bricks: 1
Transport-type: tcp
Bricks:
Brick1: junaid-laptop:/export/marker
Options Reconfigured:
performance.cache-max-file-size: 4096
features.quota: on
 
Volume Name: mark-test
Type: Distribute
Status: Started
Number of Bricks: 2
Transport-type: tcp
Bricks:
Brick1: junaid-laptop:/export/t1
Brick2: junaid-laptop:/export/t2
Options Reconfigured:
features.quota: on
features.limit-usage: /:10MB,/d1:1MB

Volume Name: str-marker
Type: Distributed-Stripe
Status: Started
Number of Bricks: 2 x 2 = 4
Transport-type: tcp
Bricks:
Brick1: junaid-laptop:/export/str1
Brick2: junaid-laptop:/export/str2
Brick3: junaid-laptop:/export/str3
Brick4: junaid-laptop:/export/str4
Options Reconfigured:
performance.cache-max-file-size: 4000
features.limit-usage: /:100MB,/d1:1GB
features.quota: on
diagnostics.brick-log-level: NONE
############################################################

NFS server volfile:
---------------------------
volume str-marker-quota
    type features/quota
    option limit-set /:100MB,/d1:1GB
    option timeout 0
    subvolumes str-marker-dht
end-volume


volume str-marker-io-cache
    type performance/io-cache
    option max-file-size 4000
    subvolumes str-marker-read-ahead
end-volume
----------------------------------------------
volume mark-test-quota
    type features/quota
    option limit-set /:100MB,/d1:1GB
    option timeout 0
    subvolumes mark-test-dht
end-volume

volume mark-test-io-cache
    type performance/io-cache
    option max-file-size 4000
    subvolumes mark-test-read-ahead
end-volume
-------------------------------------------------

volume marker-quota
    type features/quota
    option timeout 0
    option limit-set /:100MB,/d1:1GB
    subvolumes marker-client-0
end-volume

volume marker-io-cache
    type performance/io-cache
    option max-file-size 4000
    subvolumes marker-read-ahead
end-volume
----------------------------------------------------

Comment 3 Junaid 2011-06-09 04:13:12 UTC
Test case:

1. Create atleast two volumes say V1 and V2.

2. Then set an option like 
   > volume set v1 performance.cache-max-file-size 2048
   > volume set v2 performance.cache-max-file-size 4096

3. Then check the nfs-server.vol, it should show the values set for the    corresponding volumes correctly.

Comment 4 Junaid 2011-06-09 04:14:47 UTC
Created attachment 512

Comment 5 Vijay Bellur 2011-06-13 01:14:43 UTC
Junaid,

Please backport this to release-3.1 and release-3.2.

Thanks,
Vijay

Comment 6 Anand Avati 2011-06-14 06:38:26 UTC
PATCH: http://patches.gluster.com/patch/7476 in master (mgmt/glusterd: Set the generic options in the graph before merging it with the parent graph while building nfs-server volfile.)

Comment 7 Anand Avati 2011-06-16 13:16:15 UTC
PATCH: http://patches.gluster.com/patch/7466 in release-3.1 (mgmt/glusterd: Set the generic options in the graph before merging it with the parent graph while building nfs-server volfile.)

Comment 8 Anand Avati 2011-06-16 13:16:28 UTC
PATCH: http://patches.gluster.com/patch/7465 in release-3.2 (mgmt/glusterd: Set the generic options in the graph before merging it with the parent graph while building nfs-server volfile.)

Comment 9 Raghavendra Bhat 2011-07-05 05:49:41 UTC
Its fixed now. Now nfs server volfile contains the options specified for the volumes in their respective volume definitions.


Note You need to log in before you can comment on or make changes to this bug.