lkml.org 
[lkml]   [2013]   [Jan]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[ 217/221] ceph: call handle_cap_grant() for cap import message
    Date
    3.7-stable review patch.  If anyone has any objections, please let me know.

    ------------------


    From: "Yan, Zheng" <zheng.z.yan@intel.com>

    (cherry picked from commit 0e5e1774a92e6fe9c511585de8f078b4c4c68dbb)

    If client sends cap message that requests new max size during
    exporting caps, the exporting MDS will drop the message quietly.
    So the client may wait for the reply that updates the max size
    forever. call handle_cap_grant() for cap import message can
    avoid this issue.

    Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
    Signed-off-by: Sage Weil <sage@inktank.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    fs/ceph/caps.c | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)

    --- a/fs/ceph/caps.c
    +++ b/fs/ceph/caps.c
    @@ -2749,6 +2749,7 @@ static void handle_cap_import(struct cep

    /* make sure we re-request max_size, if necessary */
    spin_lock(&ci->i_ceph_lock);
    + ci->i_wanted_max_size = 0; /* reset */
    ci->i_requested_max_size = 0;
    spin_unlock(&ci->i_ceph_lock);
    }
    @@ -2844,8 +2845,6 @@ void ceph_handle_caps(struct ceph_mds_se
    case CEPH_CAP_OP_IMPORT:
    handle_cap_import(mdsc, inode, h, session,
    snaptrace, snaptrace_len);
    - ceph_check_caps(ceph_inode(inode), 0, session);
    - goto done_unlocked;
    }

    /* the rest require a cap */
    @@ -2862,6 +2861,7 @@ void ceph_handle_caps(struct ceph_mds_se
    switch (op) {
    case CEPH_CAP_OP_REVOKE:
    case CEPH_CAP_OP_GRANT:
    + case CEPH_CAP_OP_IMPORT:
    handle_cap_grant(inode, h, session, cap, msg->middle);
    goto done_unlocked;




    \
     
     \ /
      Last update: 2013-01-16 00:41    [W:4.136 / U:0.104 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site