]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
ceph: add manual reset debugfs control and tracepoints
authorAlex Markuze <amarkuze@redhat.com>
Thu, 7 May 2026 08:54:07 +0000 (08:54 +0000)
committerIlya Dryomov <idryomov@gmail.com>
Mon, 22 Jun 2026 20:45:05 +0000 (22:45 +0200)
commit7e1f9e2cd2d0e780c394a4402c40e125109fec72
treeb6904e7660d779831c8ddf859435c9b028b4dfa4
parentb52861897be8a7ba563077ae62cd48158d16a5d9
ceph: add manual reset debugfs control and tracepoints

Add the debugfs and trace plumbing used to trigger and observe
manual client reset.

The reset interface exposes a trigger file for operator-initiated
reset and a status file for tracking the most recent run.  The
tracepoints record scheduling, completion, and blocked caller
behavior so reset progress can be diagnosed from the client side.

debugfs layout under /sys/kernel/debug/ceph/<client>/reset/:
  trigger - write to initiate a manual reset
  status  - read to see the most recent reset result

The reset directory is cleaned up via debugfs_remove_recursive()
on the parent, so individual file dentries are not stored.

Tracepoints:
  ceph_client_reset_schedule  - reset queued
  ceph_client_reset_complete  - reset finished (success or failure)
  ceph_client_reset_blocked   - caller blocked waiting for reset
  ceph_client_reset_unblocked - caller unblocked after reset

All tracepoints use a null-safe access for monc.auth->global_id
to guard against early-init or late-teardown edge cases.

Signed-off-by: Alex Markuze <amarkuze@redhat.com>
Reviewed-by: Viacheslav Dubeyko <Slava.Dubeyko@ibm.com>
Signed-off-by: Viacheslav Dubeyko <Slava.Dubeyko@ibm.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
fs/ceph/debugfs.c
fs/ceph/mds_client.c
fs/ceph/super.h
include/trace/events/ceph.h