]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
mds: always make getattr wait for xlock to be released by the previous client 60692/head
authorXiubo Li <xiubli@redhat.com>
Mon, 11 Mar 2024 05:09:14 +0000 (13:09 +0800)
committerVenky Shankar <vshankar@redhat.com>
Mon, 11 Nov 2024 10:54:05 +0000 (16:24 +0530)
commitb74203eae321e9f55f8e2ee72e62a00ae45d4e63
tree117eed07b1d7a98a8352e282cba83d8bbea98205
parent99dc8756fd55b5273963c887d508e21d9a9ebe0c
mds: always make getattr wait for xlock to be released by the previous client

When the previous client's setattr request is still holding the xlock
for the linklock/authlock/xattrlock/filelock locks, if the same client
send a getattr request it will use the projected inode to fill the
reply, while for other clients the getattr requests will use the
non-projected inode to fill replies. This causes inconsistent file
mode across multiple clients.

This will just skip batching the ops when any of the xlock is held.

Fixes: https://tracker.ceph.com/issues/63906
Signed-off-by: Xiubo Li <xiubli@redhat.com>
(cherry picked from commit b1ea37c5a6cc7b2dad417128990a6403de9cb170)
src/mds/Server.cc