7 years agovfs: protect remounting superblock read-only
Miklos Szeredi [Mon, 21 Nov 2011 11:11:31 +0000]
vfs: protect remounting superblock read-only

Currently remouting superblock read-only is racy in a major way.

With the per mount read-only infrastructure it is now possible to
prevent most races, which this patch attempts.

Before starting the remount read-only, iterate through all mounts
belonging to the superblock and if none of them have any pending
writes, set sb->s_readonly_remount.  This indicates that remount is in
progress and no further write requests are allowed.  If the remount
succeeds set MS_RDONLY and reset s_readonly_remount.

If the remounting is unsuccessful just reset s_readonly_remount.
This can result in transient EROFS errors, despite the fact the
remount failed.  Unfortunately hodling off writes is difficult as
remount itself may touch the filesystem (e.g. through load_nls())
which would deadlock.

A later patch deals with delayed writes due to nlink going to zero.

Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Tested-by: Toshiyuki Okajima <toshi.okajima@jp.fujitsu.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: keep list of mounts for each superblock
Miklos Szeredi [Mon, 21 Nov 2011 11:11:30 +0000]
vfs: keep list of mounts for each superblock

Keep track of vfsmounts belonging to a superblock.  List is protected
by vfsmount_lock.

Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Tested-by: Toshiyuki Okajima <toshi.okajima@jp.fujitsu.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: switch ->show_options() to struct dentry *
Al Viro [Fri, 9 Dec 2011 02:32:45 +0000]
vfs: switch ->show_options() to struct dentry *

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: switch ->show_path() to struct dentry *
Al Viro [Fri, 9 Dec 2011 02:37:57 +0000]
vfs: switch ->show_path() to struct dentry *

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: switch ->show_devname() to struct dentry *
Al Viro [Fri, 9 Dec 2011 02:32:45 +0000]
vfs: switch ->show_devname() to struct dentry *

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: switch ->show_stats to struct dentry *
Al Viro [Fri, 9 Dec 2011 01:51:13 +0000]
vfs: switch ->show_stats to struct dentry *

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agoswitch security_path_chmod() to struct path *
Al Viro [Thu, 8 Dec 2011 15:51:53 +0000]
switch security_path_chmod() to struct path *

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: prefer ->dentry->d_sb to ->mnt->mnt_sb
Al Viro [Wed, 7 Dec 2011 23:16:57 +0000]
vfs: prefer ->dentry->d_sb to ->mnt->mnt_sb

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agoMerge branches 'vfsmount-guts', 'umode_t' and 'partitions' into Z
Al Viro [Sat, 7 Jan 2012 04:15:54 +0000]
Merge branches 'vfsmount-guts', 'umode_t' and 'partitions' into Z

7 years agovfs: trim includes a bit
Al Viro [Wed, 7 Dec 2011 18:06:11 +0000]
vfs: trim includes a bit

[folded fix for missing magic.h from Tetsuo Handa]

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agoswitch mnt_namespace ->root to struct mount
Al Viro [Tue, 6 Dec 2011 18:32:36 +0000]
switch mnt_namespace ->root to struct mount

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: take /proc/*/mounts and friends to fs/proc_namespace.c
Al Viro [Tue, 6 Dec 2011 17:21:54 +0000]
vfs: take /proc/*/mounts and friends to fs/proc_namespace.c

rationale: that stuff is far tighter bound to fs/namespace.c than to
the guts of procfs proper.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: opencode mntget() mnt_set_mountpoint()
Al Viro [Fri, 25 Nov 2011 08:19:09 +0000]
vfs: opencode mntget() mnt_set_mountpoint()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: spread struct mount - remaining argument of next_mnt()
Al Viro [Fri, 25 Nov 2011 08:06:56 +0000]
vfs: spread struct mount - remaining argument of next_mnt()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: move fsnotify junk to struct mount
Al Viro [Fri, 25 Nov 2011 07:35:16 +0000]
vfs: move fsnotify junk to struct mount

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: move mnt_devname
Al Viro [Fri, 25 Nov 2011 07:25:17 +0000]
vfs: move mnt_devname

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: move mnt_list to struct mount
Al Viro [Fri, 25 Nov 2011 07:19:55 +0000]
vfs: move mnt_list to struct mount

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: switch pnode.h macros to struct mount *
Al Viro [Fri, 25 Nov 2011 06:05:37 +0000]
vfs: switch pnode.h macros to struct mount *

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: move the rest of int fields to struct mount
Al Viro [Fri, 25 Nov 2011 05:57:42 +0000]
vfs: move the rest of int fields to struct mount

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: mnt_id/mnt_group_id moved
Al Viro [Fri, 25 Nov 2011 05:50:41 +0000]
vfs: mnt_id/mnt_group_id moved

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: mnt_ns moved to struct mount
Al Viro [Fri, 25 Nov 2011 05:46:35 +0000]
vfs: mnt_ns moved to struct mount

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: spread struct mount - mntput_no_expire
Al Viro [Fri, 25 Nov 2011 05:33:11 +0000]
vfs: spread struct mount - mntput_no_expire

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: spread struct mount - do_add_mount and graft_tree
Al Viro [Fri, 25 Nov 2011 05:30:56 +0000]
vfs: spread struct mount - do_add_mount and graft_tree

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: take mnt_share/mnt_slave/mnt_slave_list and mnt_expire to struct mount
Al Viro [Fri, 25 Nov 2011 05:22:05 +0000]
vfs: take mnt_share/mnt_slave/mnt_slave_list and mnt_expire to struct mount

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: and now we can make ->mnt_master point to struct mount
Al Viro [Fri, 25 Nov 2011 05:10:28 +0000]
vfs: and now we can make ->mnt_master point to struct mount

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: take mnt_master to struct mount
Al Viro [Fri, 25 Nov 2011 05:07:16 +0000]
vfs: take mnt_master to struct mount

make IS_MNT_SLAVE take struct mount * at the same time

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: spread struct mount - remaining argument of mnt_set_mountpoint()
Al Viro [Fri, 25 Nov 2011 05:01:17 +0000]
vfs: spread struct mount - remaining argument of mnt_set_mountpoint()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: spread struct mount - propagate_mnt()
Al Viro [Fri, 25 Nov 2011 04:59:29 +0000]
vfs: spread struct mount - propagate_mnt()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: spread struct mount - shared subtree iterators
Al Viro [Fri, 25 Nov 2011 04:56:26 +0000]
vfs: spread struct mount - shared subtree iterators

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: spread struct mount - get_dominating_id / do_make_slave
Al Viro [Fri, 25 Nov 2011 04:35:54 +0000]
vfs: spread struct mount - get_dominating_id / do_make_slave

next pile of horrors, similar to mnt_parent one; this time it's
mnt_master.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: take mnt_child/mnt_mounts to struct mount
Al Viro [Fri, 25 Nov 2011 04:24:33 +0000]
vfs: take mnt_child/mnt_mounts to struct mount

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: all counters taken to struct mount
Al Viro [Fri, 25 Nov 2011 03:53:09 +0000]
vfs: all counters taken to struct mount

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: spread struct mount - work with counters
Al Viro [Fri, 25 Nov 2011 03:37:54 +0000]
vfs: spread struct mount - work with counters

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: move mnt_mountpoint to struct mount
Al Viro [Fri, 25 Nov 2011 03:25:07 +0000]
vfs: move mnt_mountpoint to struct mount

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: now it can be done - make mnt_parent point to struct mount
Al Viro [Fri, 25 Nov 2011 03:19:58 +0000]
vfs: now it can be done - make mnt_parent point to struct mount

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: mnt_parent moved to struct mount
Al Viro [Fri, 25 Nov 2011 03:05:19 +0000]
vfs: mnt_parent moved to struct mount

the second victim...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: spread struct mount - is_path_reachable
Al Viro [Fri, 25 Nov 2011 03:00:28 +0000]
vfs: spread struct mount - is_path_reachable

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: spread struct mount - mnt_has_parent
Al Viro [Fri, 25 Nov 2011 02:47:05 +0000]
vfs: spread struct mount - mnt_has_parent

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: spread struct mount - do_umount/propagate_mount_busy
Al Viro [Fri, 25 Nov 2011 02:35:16 +0000]
vfs: spread struct mount - do_umount/propagate_mount_busy

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: spread struct mount mnt_set_mountpoint child argument
Al Viro [Fri, 25 Nov 2011 02:28:22 +0000]
vfs: spread struct mount mnt_set_mountpoint child argument

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: spread struct mount - clone_mnt/copy_tree argument
Al Viro [Fri, 25 Nov 2011 02:24:27 +0000]
vfs: spread struct mount - clone_mnt/copy_tree argument

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: spread struct mount - shrink_submounts/select_submounts
Al Viro [Fri, 25 Nov 2011 02:15:14 +0000]
vfs: spread struct mount - shrink_submounts/select_submounts

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: spread struct mount - umount_tree argument
Al Viro [Fri, 25 Nov 2011 02:07:43 +0000]
vfs: spread struct mount - umount_tree argument

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: the first spoils - mnt_hash moved
Al Viro [Fri, 25 Nov 2011 02:01:32 +0000]
vfs: the first spoils - mnt_hash moved

taken out of struct vfsmount into struct mount

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: spread struct mount to remaining users of ->mnt_hash
Al Viro [Fri, 25 Nov 2011 01:58:57 +0000]
vfs: spread struct mount to remaining users of ->mnt_hash

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: spread struct mount - clone_mnt/copy_tree result
Al Viro [Fri, 25 Nov 2011 01:55:08 +0000]
vfs: spread struct mount - clone_mnt/copy_tree result

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: spread struct mount - change_mnt_propagation/set_mnt_shared
Al Viro [Fri, 25 Nov 2011 01:43:10 +0000]
vfs: spread struct mount - change_mnt_propagation/set_mnt_shared

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: spread struct mount - alloc_vfsmnt/free_vfsmnt/mnt_alloc_id/mnt_free_id
Al Viro [Fri, 25 Nov 2011 01:38:33 +0000]
vfs: spread struct mount - alloc_vfsmnt/free_vfsmnt/mnt_alloc_id/mnt_free_id

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: spread struct mount - tree_contains_unbindable
Al Viro [Fri, 25 Nov 2011 01:01:19 +0000]
vfs: spread struct mount - tree_contains_unbindable

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: spread struct mount - attach_recursive_mnt
Al Viro [Fri, 25 Nov 2011 00:59:16 +0000]
vfs: spread struct mount - attach_recursive_mnt

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: spread struct mount - mount group id handling
Al Viro [Fri, 25 Nov 2011 00:54:23 +0000]
vfs: spread struct mount - mount group id handling

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: spread struct mount - commit_tree
Al Viro [Fri, 25 Nov 2011 00:47:15 +0000]
vfs: spread struct mount - commit_tree

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: spread struct mount - attach_mnt/detach_mnt
Al Viro [Fri, 25 Nov 2011 00:41:16 +0000]
vfs: spread struct mount - attach_mnt/detach_mnt

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: spread struct mount - namespace.c internal iterators
Al Viro [Thu, 24 Nov 2011 23:57:30 +0000]
vfs: spread struct mount - namespace.c internal iterators

next_mnt() return value, first argument
skip_mnt_tree() return value and argument

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: spread struct mount - __propagate_umount() argument
Al Viro [Thu, 24 Nov 2011 23:25:28 +0000]
vfs: spread struct mount - __propagate_umount() argument

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: spread struct mount - __lookup_mnt() result
Al Viro [Thu, 24 Nov 2011 23:22:03 +0000]
vfs: spread struct mount - __lookup_mnt() result

switch __lookup_mnt() to returning struct mount *; callers adjusted.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agovfs: start hiding vfsmount guts series
Al Viro [Wed, 23 Nov 2011 17:14:10 +0000]
vfs: start hiding vfsmount guts series

Almost all fields of struct vfsmount are used only by core VFS (and
a fairly small part of it, at that).  The plan: embed struct vfsmount
into struct mount, making the latter visible only to core parts of VFS.
Then move fields from vfsmount to mount, eventually leaving only
mnt_root/mnt_sb/mnt_flags in struct vfsmount.  Filesystem code still
gets pointers to struct vfsmount and remains unchanged; all such
pointers go to struct vfsmount embedded into the instances of struct
mount allocated by fs/namespace.c.  When fs/namespace.c et.al. get
a pointer to vfsmount, they turn it into pointer to mount (using
container_of) and work with that.

This is the first part of series; struct mount is introduced,
allocation switched to using it.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agoswitch open and mkdir syscalls to umode_t
Al Viro [Mon, 21 Nov 2011 19:59:34 +0000]
switch open and mkdir syscalls to umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agoswitch ->path_mknod() to umode_t
Al Viro [Mon, 21 Nov 2011 19:58:38 +0000]
switch ->path_mknod() to umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agoswitch ->path_mkdir() to umode_t
Al Viro [Mon, 21 Nov 2011 19:56:21 +0000]
switch ->path_mkdir() to umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agotomoyo_mini_stat: switch to umode_t
Al Viro [Sat, 27 Aug 2011 03:03:17 +0000]
tomoyo_mini_stat: switch to umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agoconsolidate a bunch of ipcbuf.h instances
Al Viro [Wed, 27 Jul 2011 18:54:36 +0000]
consolidate a bunch of ipcbuf.h instances

... some still remain weird :-/

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agoauditsc: propage umode_t
Al Viro [Wed, 27 Jul 2011 18:04:25 +0000]
auditsc: propage umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agoswitch kern_ipc_perm to umode_t
Al Viro [Wed, 27 Jul 2011 18:03:22 +0000]
switch kern_ipc_perm to umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agoconsolidate umode_t declarations
Al Viro [Tue, 26 Jul 2011 21:04:15 +0000]
consolidate umode_t declarations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agoswitch spu_create(2) to use of SYSCALL_DEFINE4, make it use umode_t
Al Viro [Tue, 26 Jul 2011 20:50:23 +0000]
switch spu_create(2) to use of SYSCALL_DEFINE4, make it use umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agoswitch mq_open() to umode_t
Al Viro [Tue, 26 Jul 2011 09:26:10 +0000]
switch mq_open() to umode_t

7 years agoceph: propagate umode_t
Al Viro [Tue, 26 Jul 2011 08:52:22 +0000]
ceph: propagate umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agoswitch hostfs_iattr to explicit unsigned short
Al Viro [Tue, 26 Jul 2011 08:48:59 +0000]
switch hostfs_iattr to explicit unsigned short

It's shared between kernel-compiled hostfs_kern and userland-compiled
hostfs_user (it's uml stuff).  Use explicit type instead of playing
silly buggers with mode_t.  It's not a userland API per se; it interacts
between code compiled with types same as for host kernel and, directly
linked to it, code talking to libc.  Both sides come from the same
kernel source...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agoswitch miscdevice to umode_t
Al Viro [Tue, 26 Jul 2011 08:47:38 +0000]
switch miscdevice to umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agoswitch spufs guts to umode_t
Al Viro [Tue, 26 Jul 2011 08:47:14 +0000]
switch spufs guts to umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agoinit/initramfs.c: should use umode_t
Al Viro [Tue, 26 Jul 2011 08:34:13 +0000]
init/initramfs.c: should use umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agoswitch may_mknod() to umode_t
Al Viro [Tue, 26 Jul 2011 08:31:40 +0000]
switch may_mknod() to umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agoshould_remove_suid(): inode->i_mode is umode_t
Al Viro [Tue, 26 Jul 2011 08:31:05 +0000]
should_remove_suid(): inode->i_mode is umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agoswitch securityfs_create_file() to umode_t
Al Viro [Tue, 26 Jul 2011 08:30:04 +0000]
switch securityfs_create_file() to umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agoswitch security_path_chmod() to umode_t
Al Viro [Tue, 26 Jul 2011 08:25:58 +0000]
switch security_path_chmod() to umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agoswitch sys_chmod()/sys_fchmod()/sys_fchmodat() to umode_t
Al Viro [Tue, 26 Jul 2011 08:22:01 +0000]
switch sys_chmod()/sys_fchmod()/sys_fchmodat() to umode_t

SYSCALLx magic should take care of things, according to Linus...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agosysctl: use umode_t for table permissions
Al Viro [Tue, 26 Jul 2011 07:47:31 +0000]
sysctl: use umode_t for table permissions

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agoget rid of open-coded S_ISREG(), etc.
Al Viro [Tue, 26 Jul 2011 00:49:29 +0000]
get rid of open-coded S_ISREG(), etc.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agomqueue: propagate umode_t
Al Viro [Sun, 24 Jul 2011 18:18:20 +0000]
mqueue: propagate umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agoswitch is_sxid() to umode_t
Al Viro [Mon, 25 Jul 2011 03:21:59 +0000]
switch is_sxid() to umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agoswitch inode_init_owner() to umode_t
Al Viro [Mon, 25 Jul 2011 03:20:18 +0000]
switch inode_init_owner() to umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agofs: propagate umode_t, misc bits
Al Viro [Tue, 26 Jul 2011 07:30:54 +0000]
fs: propagate umode_t, misc bits

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agoautofs4: propagate umode_t
Al Viro [Tue, 26 Jul 2011 07:29:03 +0000]
autofs4: propagate umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agohfsplus: propagate umode_t
Al Viro [Tue, 26 Jul 2011 07:26:51 +0000]
hfsplus: propagate umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agohfs: propagate umode_t
Al Viro [Tue, 26 Jul 2011 07:26:05 +0000]
hfs: propagate umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agocifs: propagate umode_t
Al Viro [Tue, 26 Jul 2011 07:22:14 +0000]
cifs: propagate umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agofat: propagate umode_t
Al Viro [Tue, 26 Jul 2011 07:21:30 +0000]
fat: propagate umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agontfs: propagate umode_t
Al Viro [Tue, 26 Jul 2011 07:20:46 +0000]
ntfs: propagate umode_t

same story as with isofs and udf...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agoisofs: propagate umode_t
Al Viro [Tue, 26 Jul 2011 07:19:52 +0000]
isofs: propagate umode_t

situation with mount options is the same as for udf

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agoudf: propagate umode_t
Al Viro [Tue, 26 Jul 2011 07:18:29 +0000]
udf: propagate umode_t

note re mount options: fmask and dmask are explicitly truncated to 12bit,
UDF_INVALID_MODE just needs to be guaranteed to differ from any such value.
And umask is used only in &= with umode_t, so we ignore other bits anyway.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agofuse: propagate umode_t
Al Viro [Tue, 26 Jul 2011 07:17:33 +0000]
fuse: propagate umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agopohmelfs: propagate umode_t
Al Viro [Tue, 26 Jul 2011 07:16:55 +0000]
pohmelfs: propagate umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agoshmem, ramfs: propagate umode_t, open-coded S_ISREG
Al Viro [Tue, 26 Jul 2011 07:15:03 +0000]
shmem, ramfs: propagate umode_t, open-coded S_ISREG

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agologfs: propagate umode_t
Al Viro [Tue, 26 Jul 2011 07:13:21 +0000]
logfs: propagate umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agoubifs: propagate umode_t
Al Viro [Tue, 26 Jul 2011 07:12:59 +0000]
ubifs: propagate umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agoncpfs: propagate umode_t
Al Viro [Tue, 26 Jul 2011 07:12:16 +0000]
ncpfs: propagate umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agohugetlbfs: propagate umode_t
Al Viro [Mon, 25 Jul 2011 03:17:40 +0000]
hugetlbfs: propagate umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agoexofs: propagate umode_t
Al Viro [Tue, 26 Jul 2011 07:07:49 +0000]
exofs: propagate umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

7 years agonilfs: propagate umode_t
Al Viro [Tue, 26 Jul 2011 07:07:14 +0000]
nilfs: propagate umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>