Re: [RFC 0/2] ceph: add debugfs entries signifying new mount syntax support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [CEPH Users]     [Ceph Large]     [Ceph Dev]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux