lkml.org 
[lkml]   [2017]   [Mar]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.4 19/36] ceph: remove req from unsafe list when unregistering it
    Date
    4.4-stable review patch.  If anyone has any objections, please let me know.

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

    From: Jeff Layton <jlayton@redhat.com>

    commit df963ea8a082d31521a120e8e31a29ad8a1dc215 upstream.

    There's no reason a request should ever be on a s_unsafe list but not
    in the request tree.

    Link: http://tracker.ceph.com/issues/18474
    Signed-off-by: Jeff Layton <jlayton@redhat.com>
    Reviewed-by: Yan, Zheng <zyan@redhat.com>
    Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    fs/ceph/mds_client.c | 5 +++--
    1 file changed, 3 insertions(+), 2 deletions(-)

    --- a/fs/ceph/mds_client.c
    +++ b/fs/ceph/mds_client.c
    @@ -644,6 +644,9 @@ static void __unregister_request(struct
    {
    dout("__unregister_request %p tid %lld\n", req, req->r_tid);

    + /* Never leave an unregistered request on an unsafe list! */
    + list_del_init(&req->r_unsafe_item);
    +
    if (req->r_tid == mdsc->oldest_tid) {
    struct rb_node *p = rb_next(&req->r_node);
    mdsc->oldest_tid = 0;
    @@ -1051,7 +1054,6 @@ static void cleanup_session_requests(str
    while (!list_empty(&session->s_unsafe)) {
    req = list_first_entry(&session->s_unsafe,
    struct ceph_mds_request, r_unsafe_item);
    - list_del_init(&req->r_unsafe_item);
    pr_warn_ratelimited(" dropping unsafe request %llu\n",
    req->r_tid);
    __unregister_request(mdsc, req);
    @@ -2477,7 +2479,6 @@ static void handle_reply(struct ceph_mds
    * useful we could do with a revised return value.
    */
    dout("got safe reply %llu, mds%d\n", tid, mds);
    - list_del_init(&req->r_unsafe_item);

    /* last unsafe request during umount? */
    if (mdsc->stopping && !__get_oldest_req(mdsc))

    \
     
     \ /
      Last update: 2017-03-13 10:24    [W:4.543 / U:1.036 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site