From: Al Viro <viro@zeniv.linux.org.uk>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: dhowells@redhat.com, linux-fsdevel@vger.kernel.org
Subject: [git pull] vfs.git next portion of mount stuff
Date: Mon, 11 Mar 2019 01:07:05 +0000 [thread overview]
Message-ID: <20190311010704.GJ2217@ZenIV.linux.org.uk> (raw)
The rest of core infrastructure; no new syscalls in that pile,
but the old parts are switched to new infrastructure. At that point
conversions of individual filesystems can happen independently; some
are done here (afs, cgroup, procfs, etc.), there's also a large series
outside of that pile dealing with NFS (quite a bit of option-parsing
stuff is getting used there - it's one of the most convoluted
filesystems in terms of mount-related logics), but NFS bits are
the next cycle fodder.
It got seriously simplified since the last cycle; documentation is
probably the weakest bit at the moment - I considered dropping the
commit introducing Documentation/filesystems/mount_api.txt (cutting
the size increase by quarter ;-), but decided that it would be better
to fix it up after -rc1 instead.
That pile allows to do followup work in independent branches,
which should make life much easier for the next cycle. fs/super.c
size increase is unpleasant; there's a followup series that allows to
shrink it considerably, but I decided to leave that until the next
cycle.
Two trivial conflicts (fs/Makefile and include/linux/kernfs.h),
both as straighforward as it gets. Sat in -next for weeks; the only
change after it went there had been the removal of rather obnoxious
forest of macros in fs_parser.h - with unchanged cpp output.
The following changes since commit 35ac1184244f1329783e1d897f74926d8bb1103a:
cgroup: saner refcounting for cgroup_root (2019-01-17 11:53:02 -0500)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git work.mount
for you to fetch changes up to c99c2171fc61476afac0dfb59fb2c447a01fb1e0:
afs: Use fs_context to pass parameters over automount (2019-02-28 03:29:39 -0500)
----------------------------------------------------------------
Al Viro (19):
kill kernfs_pin_sb()
separate copying and locking mount tree on cross-userns copies
saner handling of temporary namespaces
new helpers: vfs_create_mount(), fc_mount()
teach vfs_get_tree() to handle subtype, switch do_new_mount() to it
vfs_get_tree(): evict the call of security_sb_kern_mount()
fs_context flavour for submounts
introduce fs_context methods
convenience helpers: vfs_get_super() and sget_fc()
introduce cloning of fs_context
cgroup: start switching to fs_context
cgroup: fold cgroup1_mount() into cgroup1_get_tree()
cgroup: take options parsing into ->parse_monolithic()
cgroup1: switch to option-by-option parsing
cgroup2: switch to option-by-option parsing
cgroup: stash cgroup_root reference into cgroup_fs_context
cgroup_do_mount(): massage calling conventions
cgroup1_get_tree(): separate "get cgroup_root to use" into a separate helper
cgroup: store a reference to cgroup_ns into cgroup_fs_context
David Howells (22):
vfs: Introduce fs_context, switch vfs_kern_mount() to it.
new helper: do_new_mount_fc()
convert do_remount_sb() to fs_context
vfs: Introduce logging functions
vfs: Add configuration parser helpers
vfs: Add LSM hooks for the new mount API
selinux: Implement the new mount API LSM hooks
smack: Implement filesystem context security hooks
vfs: Put security flags into the fs_context struct
vfs: Implement a filesystem superblock creation/configuration context
procfs: Move proc_fill_super() to fs/proc/root.c
proc: Add fs_context support to procfs
ipc: Convert mqueue fs to fs_context
kernfs, sysfs, cgroup, intel_rdt: Support fs_context
cpuset: Use fs_context
hugetlbfs: Convert to fs_context
vfs: Remove kern_mount_data()
vfs: Provide documentation for new mount API
vfs: Implement logging through fs_context
vfs: Add some logging to the core users of the fs_context log
afs: Add fs_context support
afs: Use fs_context to pass parameters over automount
Documentation/filesystems/mount_api.txt | 709 ++++++++++++++++++++++++++++++++
arch/x86/kernel/cpu/resctrl/internal.h | 16 +
arch/x86/kernel/cpu/resctrl/rdtgroup.c | 185 +++++----
fs/Kconfig | 7 +
fs/Makefile | 3 +-
fs/afs/internal.h | 9 +-
fs/afs/mntpt.c | 149 +++----
fs/afs/super.c | 430 +++++++++----------
fs/afs/volume.c | 4 +-
fs/filesystems.c | 4 +
fs/fs_context.c | 642 +++++++++++++++++++++++++++++
fs/fs_parser.c | 447 ++++++++++++++++++++
fs/hugetlbfs/inode.c | 358 +++++++++-------
fs/internal.h | 13 +-
fs/kernfs/kernfs-internal.h | 1 +
fs/kernfs/mount.c | 119 ++----
fs/mount.h | 5 +
fs/namei.c | 4 +-
fs/namespace.c | 395 +++++++++++-------
fs/pnode.c | 5 -
fs/pnode.h | 3 +-
fs/proc/inode.c | 52 +--
fs/proc/internal.h | 5 +-
fs/proc/root.c | 236 ++++++++---
fs/super.c | 344 +++++++++++++---
fs/sysfs/mount.c | 73 +++-
include/linux/errno.h | 1 +
include/linux/fs.h | 14 +-
include/linux/fs_context.h | 188 +++++++++
include/linux/fs_parser.h | 151 +++++++
include/linux/kernfs.h | 39 +-
include/linux/lsm_hooks.h | 21 +
include/linux/mount.h | 3 +
include/linux/security.h | 18 +-
ipc/mqueue.c | 94 ++++-
ipc/namespace.c | 2 +-
kernel/cgroup/cgroup-internal.h | 49 ++-
kernel/cgroup/cgroup-v1.c | 394 +++++++++---------
kernel/cgroup/cgroup.c | 223 ++++++----
kernel/cgroup/cpuset.c | 56 ++-
security/security.c | 10 +
security/selinux/hooks.c | 88 +++-
security/selinux/include/security.h | 10 +-
security/smack/smack.h | 19 +-
security/smack/smack_lsm.c | 92 ++++-
45 files changed, 4358 insertions(+), 1332 deletions(-)
create mode 100644 Documentation/filesystems/mount_api.txt
create mode 100644 fs/fs_context.c
create mode 100644 fs/fs_parser.c
create mode 100644 include/linux/fs_context.h
create mode 100644 include/linux/fs_parser.h
next reply other threads:[~2019-03-11 1:07 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-11 1:07 Al Viro [this message]
2019-03-12 22:20 ` [git pull] vfs.git next portion of mount stuff pr-tracker-bot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190311010704.GJ2217@ZenIV.linux.org.uk \
--to=viro@zeniv.linux.org.uk \
--cc=dhowells@redhat.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).