add file system helpers that take kernel pointers for the init code v3

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

 



Hi Al and Linus,

currently a lot of the file system calls in the early in code (and the
devtmpfs kthread) rely on the implicit set_fs(KERNEL_DS) during boot.
This is one of the few last remaining places we need to deal with to kill
off set_fs entirely, so this series adds new helpers that take kernel
pointers.  These helpers are in init/ and marked __init and thus will
be discarded after bootup.  A few also need to be duplicated in devtmpfs,
though unfortunately.

The series sits on top of my previous

  "decruft the early init / initrd / initramfs code v2"

series.


Git tree:

    git://git.infradead.org/users/hch/misc.git init_path

Gitweb:

    http://git.infradead.org/users/hch/misc.git/shortlog/refs/heads/init_path


Changes since v2:
 - move to fs/for-init.c
 - reuse the init routines in devtmpfs after refactoring devtmpfsd
   (and thus the broken error handling in the previous version)
 - actually use kern_path in a place where user_path_at sneaked back in

Changes since v1:
 - avoid most core VFS changes
 - renamed the functions and move them to init/ and devtmpfs
 - drop a bunch of cleanups that can be submitted independently now


Diffstat:
 drivers/base/devtmpfs.c       |   54 +++++----
 drivers/md/md-autodetect.c    |    3 
 fs/Makefile                   |    2 
 fs/for_init.c                 |  249 ++++++++++++++++++++++++++++++++++++++++++
 fs/internal.h                 |   19 +--
 fs/namei.c                    |   20 +--
 fs/namespace.c                |  107 ++++++++----------
 fs/open.c                     |   22 +--
 include/linux/init_syscalls.h |   18 +++
 include/linux/syscalls.h      |   66 -----------
 init/do_mounts.c              |   12 +-
 init/do_mounts.h              |    7 -
 init/do_mounts_initrd.c       |   26 ++--
 init/do_mounts_rd.c           |    2 
 init/initramfs.c              |   29 ++--
 init/main.c                   |   10 -
 init/noinitramfs.c            |    8 -
 17 files changed, 423 insertions(+), 231 deletions(-)



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux