lkml.org 
[lkml]   [2020]   [Jun]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.4 094/142] libceph: ignore pool overlay and cache logic on redirects
    Date
    From: Jerry Lee <leisurelysw24@gmail.com>

    [ Upstream commit 890bd0f8997ae6ac0a367dd5146154a3963306dd ]

    OSD client should ignore cache/overlay flag if got redirect reply.
    Otherwise, the client hangs when the cache tier is in forward mode.

    [ idryomov: Redirects are effectively deprecated and no longer
    used or tested. The original tiering modes based on redirects
    are inherently flawed because redirects can race and reorder,
    potentially resulting in data corruption. The new proxy and
    readproxy tiering modes should be used instead of forward and
    readforward. Still marking for stable as obviously correct,
    though. ]

    Cc: stable@vger.kernel.org
    URL: https://tracker.ceph.com/issues/23296
    URL: https://tracker.ceph.com/issues/36406
    Signed-off-by: Jerry Lee <leisurelysw24@gmail.com>
    Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
    Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    net/ceph/osd_client.c | 4 +++-
    1 file changed, 3 insertions(+), 1 deletion(-)

    diff --git a/net/ceph/osd_client.c b/net/ceph/osd_client.c
    index 2352afa62d1f..e513b8876d13 100644
    --- a/net/ceph/osd_client.c
    +++ b/net/ceph/osd_client.c
    @@ -3652,7 +3652,9 @@ static void handle_reply(struct ceph_osd *osd, struct ceph_msg *msg)
    * supported.
    */
    req->r_t.target_oloc.pool = m.redirect.oloc.pool;
    - req->r_flags |= CEPH_OSD_FLAG_REDIRECTED;
    + req->r_flags |= CEPH_OSD_FLAG_REDIRECTED |
    + CEPH_OSD_FLAG_IGNORE_OVERLAY |
    + CEPH_OSD_FLAG_IGNORE_CACHE;
    req->r_tid = 0;
    __submit_request(req, false);
    goto out_unlock_osdc;
    --
    2.25.1


    \
     
     \ /
      Last update: 2020-06-01 20:09    [W:2.193 / U:0.044 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site