Merge PR into master

* refs/pull/35518/head:
	mds: fix filelock state when Fsc is issued

Reviewed-by: Zheng Yan <zyan@redhat.com>
This commit is contained in:
Patrick Donnelly 2020-06-24 11:34:47 -07:00
commit 9dba356abf
No known key found for this signature in database
GPG Key ID: 3A2A7E25BEA8AADB

View File

@ -3173,9 +3173,12 @@ void CInode::choose_lock_state(SimpleLock *lock, int allissued)
} else if (lock->get_state() != LOCK_MIX) {
if (issued & (CEPH_CAP_GEXCL | CEPH_CAP_GBUFFER))
lock->set_state(LOCK_EXCL);
else if (issued & CEPH_CAP_GWR)
lock->set_state(LOCK_MIX);
else if (lock->is_dirty()) {
else if (issued & CEPH_CAP_GWR) {
if (issued & (CEPH_CAP_GCACHE | CEPH_CAP_GSHARED))
lock->set_state(LOCK_EXCL);
else
lock->set_state(LOCK_MIX);
} else if (lock->is_dirty()) {
if (is_replicated())
lock->set_state(LOCK_MIX);
else