[Bugs] [Bug 1423412] Mount of older client fails

bugzilla at redhat.com bugzilla at redhat.com
Sun Feb 19 14:18:11 UTC 2017


https://bugzilla.redhat.com/show_bug.cgi?id=1423412



--- Comment #3 from Worker Ant <bugzilla-bot at gluster.org> ---
COMMIT: https://review.gluster.org/16658 committed in release-3.10 by
Shyamsundar Ranganathan (srangana at redhat.com) 
------
commit c76e6397f544a4f08c8762ad0455d7f52e95f94f
Author: Poornima G <pgurusid at redhat.com>
Date:   Fri Feb 17 14:05:25 2017 +0530

    glusterd, readdir-ahead: Fix backward incompatibility

    Backport of https://review.gluster.org/#/c/16657/

    Issue:
    Any opion is spcified in two places: In the options[] of xlator
    itself and glusterd-volume-set.c. The default value of this option
    can be specified in both the places. If its specified only in xlator
    then the volfile generated will not have the option and default value,
    it will be assigned during graph initialization.
    With patch [1] the option rda-request-size was changed from INT to SIZET
    type, and default was changed from 131072 to 128KB, but was specified
    only in the readdir-ahead.c. Thus with this patch alone the volfile
    entry for readdir-ahead looks like:
    volume patchy-readdir-ahead
        type performance/readdir-ahead
        subvolumes patchy-read-ahead
    end-volume

    With patch [2], the default of option rda-request-size was specified
    in glusterd-volume-set.c as well(as it was necessary fr parallel readdir).
    With this patch the readdir entry in the volfile will look like:
    volume patchy-readdir-ahead
        type performance/readdir-ahead
        option rda-cache-limit 10MB
        option rda-request-size 128KB
        option parallel-readdir off
        subvolumes patchy-read-ahead
    end-volume


    Now consider the server has both these patches and client doesn't.
    Server will generate a volfile with entry:

    The old clients which thought the option rda-request-size is of type
    INT will now recieve the value 128KB which it willn't understand,
    and hence fail the mount.

    The issue is seen only with the combination of [1] and [2].

    Solution:
    Instead of specifying 128KB as default in glusterd we specify 131072
    so that the old clients will interpret as INT and new ones as 128KB

    Credits: Raghavendra G

    > Reviewed-on: https://review.gluster.org/16657
    > Smoke: Gluster Build System <jenkins at build.gluster.org>
    > NetBSD-regression: NetBSD Build System <jenkins at build.gluster.org>
    > CentOS-regression: Gluster Build System <jenkins at build.gluster.org>
    > Reviewed-by: Shyamsundar Ranganathan <srangana at redhat.com>
    > Reviewed-by: Raghavendra G <rgowdapp at redhat.com>
    > Reviewed-by: Atin Mukherjee <amukherj at redhat.com>

    Change-Id: I0c269a5890957fd8a38e9a05bdec088645a6688a
    BUG: 1423412
    Signed-off-by: Poornima G <pgurusid at redhat.com>
    Reviewed-on: https://review.gluster.org/16658
    NetBSD-regression: NetBSD Build System <jenkins at build.gluster.org>
    CentOS-regression: Gluster Build System <jenkins at build.gluster.org>
    Smoke: Gluster Build System <jenkins at build.gluster.org>
    Reviewed-by: Atin Mukherjee <amukherj at redhat.com>

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.


More information about the Bugs mailing list