On Wed, Aug 18, 2021 at 6:39 PM Jeff Layton <jlayton@xxxxxxxxxx> wrote: > > On Wed, 2021-08-18 at 11:31 +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. > > > > Is this a known bug you're talking about or are you just speculating > about the potential for bugs there? Potential bugs. > > > 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 > > .... > > .... > > > > 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. > > > > 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 | 26 ++++++++++++++++++++++++-- > > 5 files changed, 60 insertions(+), 2 deletions(-) > > > > I'm not a huge fan of this approach overall as it requires that you have > access to debugfs, and that's not guaranteed to be available everywhere. > If you want to add this for debugging purposes, that's fine, but I don't > think you want the mount helper to rely on this infrastructure. Right. The use-case here is probably to rely on it during teuthology tests where the mount fails (and the tests) when using the new syntax but the kernel has v2 syntax support. I recall the discussion on having some sort of `--no-fallback` option to not fall-back to old syntax, but since we have the debugfs entries, we may as well rely on those (at least for testing). > > -- > Jeff Layton <jlayton@xxxxxxxxxx> > -- Cheers, Venky