]> git.apps.os.sepia.ceph.com Git - ceph-client.git/commit
[DO NOT MERGE] ceph: dump info about cap flushes when we're waiting too long for...
authorJeff Layton <jlayton@kernel.org>
Wed, 7 Jul 2021 13:20:34 +0000 (09:20 -0400)
committerIlya Dryomov <idryomov@gmail.com>
Mon, 15 Aug 2022 12:51:40 +0000 (14:51 +0200)
commitd727e939548d13edf9b202e34e1023a0a61577c5
treed42bf14003a6dc0aa38ab464f0a6baf4efaba1fd
parent6772f91a6b4a51ed4e122754ac509d1f554f01bd
[DO NOT MERGE] ceph: dump info about cap flushes when we're waiting too long for them

We've had some cases of hung umounts in teuthology testing. It looks
like client is waiting for cap flushes to complete, but they aren't.

Add a field to the inode to track the highest cap flush tid seen for
that inode. Also, add a backpointer to the inode to the ceph_cap_flush
struct.

Change wait_caps_flush to wait 60s, and then dump info about the
condition of the list.

Also, print pr_info messages if we end up dropping a FLUSH_ACK for an
inode onto the floor, or if we get a message on an unregistered
session.

Reported-by: Patrick Donnelly <pdonnell@redhat.com>
URL: https://tracker.ceph.com/issues/51279
Signed-off-by: Jeff Layton <jlayton@kernel.org>
fs/ceph/caps.c
fs/ceph/inode.c
fs/ceph/mds_client.c
fs/ceph/snap.c
fs/ceph/super.h