Re: [PATCH v2 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 25, 2021 at 10:57 PM Jeff Layton <jlayton@xxxxxxxxxx> wrote:
>
> On Wed, 2021-08-25 at 11:20 +0530, Venky Shankar wrote:
> > v2:
> >  - export ceph_debugfs_dir
> >  - include v1 mount support debugfs entry
> >  - create debugfs entries under /<>/ceph/client_features dir
> >
> > [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/client_features
> >     /sys/kernel/debug/ceph/client_features/v2_mount_syntax
> >     /sys/kernel/debug/ceph/client_features/v1_mount_syntax
> >     ....
> >     ....
> >
>
> There are at least some scripts in teuthology that iterate over all of
> the directories under /sys/kernel/debug/ceph/. Once you add this, some
> of them may become confused.
>
> I think we might want a more generic top-level directory for this sort
> of thing, so that we only need to deal with the fallout once if we want
> to put other generic info in there.

Hmm, makes sense.

>
> Maybe something like this?
>
>     /sys/kernel/debug/ceph/meta/
>     /sys/kernel/debug/ceph/meta/client_features
>
> I'd be open to different names for "meta" too.

meta, misc, info, ...

I do not have a strong opinion on the naming.

>
> Also, do we really want to present this info via directories? I would
> have thought something more like a "meta/mount_syntax" file there that
> just prints "v1 v2" when read.
>
> What's easier for scripting?

One reason I kept these as files was to not do parsing stuff and just
rely on stat().

>
> > Venky Shankar (2):
> >   libceph: export ceph_debugfs_dir for use in ceph.ko
> >   ceph: add debugfs entries for mount syntax support
> >
> >  fs/ceph/debugfs.c            | 36 ++++++++++++++++++++++++++++++++++++
> >  fs/ceph/super.c              |  3 +++
> >  fs/ceph/super.h              |  2 ++
> >  include/linux/ceph/debugfs.h |  2 ++
> >  net/ceph/debugfs.c           |  3 ++-
> >  5 files changed, 45 insertions(+), 1 deletion(-)
> >
>
> --
> 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