projects/linux·commit e2fce151

Merge tag 'ceph-for-5.7-rc8' of git://github.com/ceph/ceph-client

e2fce151 · Linus Torvalds <[email protected]> · 2020-05-29 13:59:54 -07:00

Pull ceph fixes from Ilya Dryomov:
 "Cache tiering and cap handling fixups, both marked for stable"

* tag 'ceph-for-5.7-rc8' of git://github.com/ceph/ceph-client:
  ceph: flush release queue when handling caps for unknown inode
  libceph: ignore pool overlay and cache logic on redirects
Commit
e2fce151d2b4bd9722b3344ae381c768d249761f
Parents
835e36b1 · fb33c114

Merge commit. Changes below are compared with the first parent: 835e36b1.

Changes

2 files changed · +4 −2

FileStatusAddDelContent
fs/ceph/caps.cmodified+1−1View file
net/ceph/osd_client.cmodified+3−1View file

fs/ceph/caps.c

View file
diff --git a/fs/ceph/caps.c b/fs/ceph/caps.c
index 5f3aa4d..f1acde6 100644
--- a/fs/ceph/caps.c
+++ b/fs/ceph/caps.c
@@ -3991,7 +3991,7 @@ void ceph_handle_caps(struct ceph_mds_session *session,
__ceph_queue_cap_release(session, cap);
spin_unlock(&session->s_cap_lock);
}
- goto done;
+ goto flush_cap_releases;
}
/* these will work even if we don't have a cap yet */

net/ceph/osd_client.c

View file
diff --git a/net/ceph/osd_client.c b/net/ceph/osd_client.c
index 998e26b..1d4973f 100644
--- a/net/ceph/osd_client.c
+++ b/net/ceph/osd_client.c
@@ -3649,7 +3649,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;