Bug 907311 - [Enhancement] Client op-version
Summary: [Enhancement] Client op-version
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: GlusterFS
Classification: Community
Component: glusterd
Version: mainline
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Kaushal
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: 954256
TreeView+ depends on / blocked
 
Reported: 2013-02-04 05:11 UTC by Kaushal
Modified: 2013-07-24 17:11 UTC (History)
1 user (show)

Fixed In Version: glusterfs-3.4.0
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-07-24 17:11:52 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)

Description Kaushal 2013-02-04 05:11:06 UTC
Glusterd uses server op-versions to help better support hybrid clusters containing different versions of gluster. By extending the op-version concept to clients, we can do two things,
i.  Prevent unsupported clients from attempting to mount gluster volumes
ii. Prevent unsupported features from being enabled when unsupported clients are connected.

Comment 1 Vijay Bellur 2013-02-06 20:17:23 UTC
CHANGE: http://review.gluster.org/4247 (glusterd,glusterfsd,libgfapi: Client op-version) merged in master by Anand Avati (avati)

Comment 2 Vijay Bellur 2013-02-06 20:18:02 UTC
CHANGE: http://review.gluster.org/4424 (glusterd: Use client-op-versions during "volume set") merged in master by Anand Avati (avati)

Comment 3 Vijay Bellur 2013-04-01 12:26:14 UTC
REVIEW: http://review.gluster.org/4584 (glusterd: Introduce volume op-versions) posted (#10) for review on master by Kaushal M (kaushal)

Comment 4 Anand Avati 2013-04-23 09:41:20 UTC
REVIEW: http://review.gluster.org/4584 (glusterd: Introduce volume op-versions) posted (#11) for review on master by Kaushal M (kaushal)

Comment 5 Anand Avati 2013-04-24 07:35:51 UTC
REVIEW: http://review.gluster.org/4584 (glusterd: Introduce volume op-versions) posted (#12) for review on master by Kaushal M (kaushal)

Comment 6 Anand Avati 2013-04-26 08:45:34 UTC
COMMIT: http://review.gluster.org/4584 committed in master by Vijay Bellur (vbellur) 
------
commit 915385553e46d65e0b91ce62066a5575b07ee44d
Author: Kaushal M <kaushal>
Date:   Mon Apr 1 17:55:30 2013 +0530

    glusterd: Introduce volume op-versions
    
    Each volume is now associated with two op-versions,
     * op_version - the op-version of the highest op-versioned feature enabled
     * client_op_version - the op-version of the highest op-versioned feature
       enabled which affects the clients only.
    
    These two op-versions are generated dynamically and kept updated during
    runtime. Glusterd now uses the respective volumes' client-op-version during
    getspec requests.
    
    To achieve the above a new field in the vme table is introduced,
    client_option, this boolean field tells if the option is a client side
    option.
    
    Change-Id: I12c83b1dd29ab506026efd50d448cebbcee53c27
    BUG: 907311
    Signed-off-by: Kaushal M <kaushal>
    Reviewed-on: http://review.gluster.org/4584
    Reviewed-by: Krishnan Parthasarathi <kparthas>
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 7 Anand Avati 2013-04-28 15:24:35 UTC
REVIEW: http://review.gluster.org/4895 (glusterd: display volume op-versions in volume status output) posted (#1) for review on master by Krutika Dhananjay (kdhananj)

Comment 8 Anand Avati 2013-04-28 15:47:18 UTC
REVIEW: http://review.gluster.org/4896 (glusterd: display client op-versions in 'volume status clients' output) posted (#1) for review on master by Krutika Dhananjay (kdhananj)

Comment 9 Anand Avati 2013-04-28 16:30:24 UTC
REVIEW: http://review.gluster.org/4897 (glusterd: display peer op-versions in peer status output) posted (#1) for review on master by Krutika Dhananjay (kdhananj)

Comment 10 Anand Avati 2013-04-29 08:52:52 UTC
REVIEW: http://review.gluster.org/4896 (glusterd: display client op-versions in 'volume status clients' output) posted (#2) for review on master by Krutika Dhananjay (kdhananj)

Comment 11 Anand Avati 2013-05-02 10:57:35 UTC
REVIEW: http://review.gluster.org/4897 (glusterd: display peer op-versions in peer status output) posted (#2) for review on master by Krutika Dhananjay (kdhananj)

Comment 12 Anand Avati 2013-05-06 12:58:55 UTC
REVIEW: http://review.gluster.org/4956 (glusterd: Backport of vme table changes from master) posted (#1) for review on release-3.4 by Kaushal M (kaushal)

Comment 13 Anand Avati 2013-05-06 12:59:15 UTC
REVIEW: http://review.gluster.org/4957 (glusterd: Introduce volume op-versions) posted (#1) for review on release-3.4 by Kaushal M (kaushal)

Comment 14 Anand Avati 2013-05-08 04:05:54 UTC
REVIEW: http://review.gluster.org/4956 (glusterd: Backport of vme table changes from master) posted (#2) for review on release-3.4 by Kaushal M (kaushal)

Comment 15 Anand Avati 2013-05-08 04:06:15 UTC
REVIEW: http://review.gluster.org/4957 (glusterd: Introduce volume op-versions) posted (#2) for review on release-3.4 by Kaushal M (kaushal)

Comment 16 Anand Avati 2013-05-14 06:43:01 UTC
REVIEW: http://review.gluster.org/4956 (glusterd: Backport of vme table changes from master) posted (#3) for review on release-3.4 by Kaushal M (kaushal)

Comment 17 Anand Avati 2013-05-14 06:43:24 UTC
REVIEW: http://review.gluster.org/4957 (glusterd: Introduce volume op-versions) posted (#3) for review on release-3.4 by Kaushal M (kaushal)

Comment 18 Anand Avati 2013-05-22 03:42:26 UTC
REVIEW: http://review.gluster.org/4956 (glusterd: Backport of vme table changes from master) posted (#4) for review on release-3.4 by Kaushal M (kaushal)

Comment 19 Anand Avati 2013-05-22 03:42:49 UTC
REVIEW: http://review.gluster.org/4957 (glusterd: Introduce volume op-versions) posted (#4) for review on release-3.4 by Kaushal M (kaushal)

Comment 20 Anand Avati 2013-05-27 07:23:09 UTC
REVIEW: http://review.gluster.org/4956 (glusterd: Backport of vme table changes from master) posted (#5) for review on release-3.4 by Kaushal M (kaushal)

Comment 21 Anand Avati 2013-05-27 07:23:32 UTC
REVIEW: http://review.gluster.org/4957 (glusterd: Introduce volume op-versions) posted (#5) for review on release-3.4 by Kaushal M (kaushal)

Comment 22 Anand Avati 2013-05-28 08:50:52 UTC
REVIEW: http://review.gluster.org/4956 (glusterd: Backport of vme table changes from master) posted (#6) for review on release-3.4 by Kaushal M (kaushal)

Comment 23 Anand Avati 2013-05-28 08:51:38 UTC
REVIEW: http://review.gluster.org/4957 (glusterd: Introduce volume op-versions) posted (#6) for review on release-3.4 by Kaushal M (kaushal)

Comment 24 Anand Avati 2013-05-30 06:27:16 UTC
REVIEW: http://review.gluster.org/4956 (glusterd: Backport of vme table changes from master) posted (#7) for review on release-3.4 by Kaushal M (kaushal)

Comment 25 Anand Avati 2013-05-30 06:28:00 UTC
REVIEW: http://review.gluster.org/4957 (glusterd: Introduce volume op-versions) posted (#7) for review on release-3.4 by Kaushal M (kaushal)

Comment 26 Anand Avati 2013-06-05 12:24:41 UTC
COMMIT: http://review.gluster.org/4956 committed in release-3.4 by Vijay Bellur (vbellur) 
------
commit 4965109a3c7d456b9f19eb67cf023ba86069e6e7
Author: Kaushal M <kaushal>
Date:   Mon May 6 18:04:47 2013 +0530

    glusterd: Backport of vme table changes from master
    
    This patch backports the following changes from the master branch
    
    99fe09f glusterd: Moved the volume entry table to a separate file.
    e306d08 glusterd: Changing the volume entry table's representation.
    eac54f6 glusterd: Added option description, and validation function fields.
    bcb4235 glusterd: Added validation function for performance cache max and min size.
    8897d08 glusterd: Added validation function for quota-timeout.
    4579609 glusterd: Added validation function for stripe-block-size.
    6788bad glusterd: Fix some options in vme table
    549231d glusterd: Added the validation function for subvols-per-directory
    9636e63 glusterd: Added description for nfs.transport-type option in volume set help.
    
    Change-Id: I4a64ad94f17df4b45a3a32262a83e2c35fb5f7da
    BUG: 907311
    Signed-off-by: Kaushal M <kaushal>
    Reviewed-on: http://review.gluster.org/4956
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 27 Anand Avati 2013-06-05 12:25:32 UTC
COMMIT: http://review.gluster.org/4957 committed in release-3.4 by Vijay Bellur (vbellur) 
------
commit 6cedf2d7a61aa3f26522033c0fb12467b7631dbc
Author: Kaushal M <kaushal>
Date:   Mon Apr 1 17:55:30 2013 +0530

    glusterd: Introduce volume op-versions
    
    This is a backport of change
            9153855 glusterd: Introduce volume op-versions
    from master.
    
    Each volume is now associated with two op-versions,
     * op_version - the op-version of the highest op-versioned feature enabled
     * client_op_version - the op-version of the highest op-versioned feature
       enabled which affects the clients only.
    
    These two op-versions are generated dynamically and kept updated during
    runtime. Glusterd now uses the respective volumes' client-op-version during
    getspec requests.
    
    To achieve the above a new field in the vme table is introduced,
    client_option, this boolean field tells if the option is a client side
    option.
    
    BUG: 907311
    Change-Id: I59af02644a714e1c54fc89f1ead5aa551bba7ee7
    Signed-off-by: Kaushal M <kaushal>
    Reviewed-on: http://review.gluster.org/4957
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Vijay Bellur <vbellur>


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