Message ID | 20210819060701.25486-1-vshankar@redhat.com (mailing list archive) |
---|---|
Headers | show |
Series | ceph: add debugfs entries signifying new mount syntax support | expand |
On Thu, 2021-08-19 at 11:36 +0530, Venky Shankar wrote: > [This is based on top of new mount syntax series] > > Patrick proposed the idea of having debugfs entries to signify if > kernel supports the new (v2) mount syntax. The primary use of this > information is to catch any bugs in the new syntax implementation. > > This would be done as follows:: > > The userspace mount helper tries to mount using the new mount syntax > and fallsback to using old syntax if the mount using new syntax fails. > However, a bug in the new mount syntax implementation can silently > result in the mount helper switching to old syntax. > > So, the debugfs entries can be relied upon by the mount helper to > check if the kernel supports the new mount syntax. Cases when the > mount using the new syntax fails, but the kernel does support the > new mount syntax, the mount helper could probably log before switching > to the old syntax (or fail the mount altogether when run in test mode). > > Debugfs entries are as follows:: > > /sys/kernel/debug/ceph/ > .... > .... > /sys/kernel/debug/ceph/dev_support > /sys/kernel/debug/ceph/dev_support/v2 > .... > .... > Hmm I'm not sure I like the idea of adding a directory _just_ to indicate whether v2-style mounts are supported. I think we might want to add something more generic here to indicate what sort of client-side features the kernel supports. That's useful for teuthology, and also potentially for support in general. How about we rename this dir as: /sys/kernel/debug/ceph/client_features ...and then we can have a file in there for "v2_mount_device" or something. > Note that there is no entry signifying v1 mount syntax. That's because > the kernel still supports mounting with old syntax and older kernels do > not have debug entries for the same. > I think we probably _should_ add a v1_mount_device file too. Eventually we may want to drop support for v1 style mounts, once older releases roll off the support matrix. If we drop the file at that time, then that could be a handy way to indicate that the kernel no longer supports them. > Venky Shankar (2): > ceph: add helpers to create/cleanup debugfs sub-directories under > "ceph" directory > ceph: add debugfs entries for v2 (new) mount syntax support > > fs/ceph/debugfs.c | 28 ++++++++++++++++++++++++++++ > fs/ceph/super.c | 3 +++ > fs/ceph/super.h | 2 ++ > include/linux/ceph/debugfs.h | 3 +++ > net/ceph/debugfs.c | 27 +++++++++++++++++++++++++-- > 5 files changed, 61 insertions(+), 2 deletions(-) >