• Miklos Szeredi's avatar
    mount options: add documentation · f84e3f52
    Miklos Szeredi authored
    This series addresses the problem of showing mount options in
    /proc/mounts.
    
    Several filesystems which use mount options, have not implemented a
    .show_options superblock operation.  Several others have implemented
    this callback, but have not kept it fully up to date with the parsed
    options.
    
    Q: Why do we need correct option showing in /proc/mounts?
    A: We want /proc/mounts to fully replace /etc/mtab.  The reasons for
       this are:
        - unprivileged mounters won't be able to update /etc/mtab
        - /etc/mtab doesn't work with private mount namespaces
        - /etc/mtab can become out-of-sync with reality
    
    Q: Can't this be done, so that filesystems need not bother with
       implementing a .show_mounts callback, and keeping it up to date?
    A: Only in some cases.  Certain filesystems allow modification of a
       subset of options in their remount_fs method.  It is not possible
       to take this into account without knowing exactly how the
       filesystem handles options.
    
    For the simple case (no remount or remount resets all options) the
    patchset introduces two helpers:
    
      generic_show_options()
      save_mount_options()
    
    These can also be used to emulate the old /etc/mtab behavior, until
    proper support is added.  Even if this is not 100% correct, it's still
    better than showing no options at all.
    
    The following patches fix up most in-tree filesystems, some have been
    compile tested only, some have been reviewed and acked by the
    maintainer.
    
    Table displaying status of all in-kernel filesystems:
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    legend:
    
      none - fs has options, but doesn't define ->show_options()
      some - fs defines ->show_options(), but some only options are shown
      good - fs shows all options
      noopt - fs does not have options
      patch - a patch will be posted
      merged - a patch has been merged by subsystem maintainer
    
    9p          good
    adfs        patch
    affs        patch
    afs         patch
    autofs      patch
    autofs4     patch
    befs        patch
    bfs         noopt
    cifs        some
    coda        noopt
    configfs    noopt
    cramfs      noopt
    debugfs     noopt
    devpts      patch
    ecryptfs    good
    efs         noopt
    ext2        patch
    ext3        good
    ext4        merged
    fat         patch
    freevxfs    noopt
    fuse        patch
    fusectl	    noopt
    gfs2        good
    gfs2meta    noopt
    hfs         good
    hfsplus     good
    hostfs      patch
    hpfs        patch
    hppfs       noopt
    hugetlbfs   patch
    isofs       patch
    jffs2       noopt
    jfs         merged
    minix       noopt
    msdos       ->fat
    ncpfs       patch
    nfs         some
    nfsd        noopt
    ntfs        good
    ocfs2       good
    ocfs2/dlmfs noopt
    openpromfs  noopt
    proc        noopt
    qnx4        noopt
    ramfs       noopt
    reiserfs    patch
    romfs       noopt
    smbfs       good
    sysfs       noopt
    sysv        noopt
    udf         patch
    ufs         good
    vfat        ->fat
    xfs         good
    
    mm/shmem.c                                    patch
    drivers/oprofile/oprofilefs.c                 noopt
    drivers/infiniband/hw/ipath/ipath_fs.c        noopt
    drivers/misc/ibmasm/ibmasmfs.c                noopt
    drivers/usb/core (usbfs)                      merged
    drivers/usb/gadget (gadgetfs)                 noopt
    drivers/isdn/capi/capifs.c                    patch
    kernel/cpuset.c                               noopt
    fs/binfmt_misc.c                              noopt
    net/sunrpc/rpc_pipe.c                         noopt
    arch/powerpc/platforms/cell/spufs             patch
    arch/s390/hypfs                               good
    ipc/mqueue.c                                  noopt
    security (securityfs)                         noopt
    security/selinux/selinuxfs.c                  noopt
    kernel/cgroup.c                               good
    security/smack/smackfs.c                      noopt
    
    in -mm:
    
    reiser4     some
    unionfs     good
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    
    This patch:
    
    Document the rules for handling mount options in the .show_options
    super operation.
    Signed-off-by: default avatarMiklos Szeredi <mszeredi@suse.cz>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    f84e3f52
vfs.txt 42.6 KB