mds: expose projected values for all locks to loner (not just filelock)

There is nothing special about filelock in this case.  If the client is
the loner, we should use the projected values.  This is important when
we are looking at a snapid on the head (see snaptest-authwb.sh).
This commit is contained in:
Sage Weil 2010-08-24 10:38:21 -07:00
parent 25cc1451c8
commit 08920f4e81

View File

@ -1688,9 +1688,9 @@ int CInode::encode_inodestat(bufferlist& bl, Session *session,
Capability *cap = get_client_cap(client);
bool pfile = filelock.is_xlocked_by_client(client) || get_loner() == client;
//(cap && (cap->issued() & CEPH_CAP_FILE_EXCL));
bool pauth = authlock.is_xlocked_by_client(client);
bool plink = linklock.is_xlocked_by_client(client);
bool pxattr = xattrlock.is_xlocked_by_client(client);
bool pauth = authlock.is_xlocked_by_client(client) || get_loner() == client;
bool plink = linklock.is_xlocked_by_client(client) || get_loner() == client;
bool pxattr = xattrlock.is_xlocked_by_client(client) || get_loner() == client;
bool plocal = versionlock.get_last_wrlock_client() == client;