GitHub/exynos8895/android_kernel_samsung_universal8895.git
12 years agovfs: count unlinked inodes
Miklos Szeredi [Mon, 21 Nov 2011 11:11:32 +0000 (12:11 +0100)]
vfs: count unlinked inodes

Add a new counter to the superblock that keeps track of unlinked but
not yet deleted inodes.

Do not WARN_ON if set_nlink is called with zero count, just do a
ratelimited printk.  This happens on xfs and probably other
filesystems after an unclean shutdown when the filesystem reads inodes
which already have zero i_nlink.  Reported by Christoph Hellwig.

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>
12 years agovfs: protect remounting superblock read-only
Miklos Szeredi [Mon, 21 Nov 2011 11:11:31 +0000 (12:11 +0100)]
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>
12 years agovfs: keep list of mounts for each superblock
Miklos Szeredi [Mon, 21 Nov 2011 11:11:30 +0000 (12:11 +0100)]
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>
12 years agovfs: switch ->show_options() to struct dentry *
Al Viro [Fri, 9 Dec 2011 02:32:45 +0000 (21:32 -0500)]
vfs: switch ->show_options() to struct dentry *

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agovfs: switch ->show_path() to struct dentry *
Al Viro [Fri, 9 Dec 2011 02:37:57 +0000 (21:37 -0500)]
vfs: switch ->show_path() to struct dentry *

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agovfs: switch ->show_devname() to struct dentry *
Al Viro [Fri, 9 Dec 2011 02:32:45 +0000 (21:32 -0500)]
vfs: switch ->show_devname() to struct dentry *

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agovfs: switch ->show_stats to struct dentry *
Al Viro [Fri, 9 Dec 2011 01:51:13 +0000 (20:51 -0500)]
vfs: switch ->show_stats to struct dentry *

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agoswitch security_path_chmod() to struct path *
Al Viro [Thu, 8 Dec 2011 15:51:53 +0000 (10:51 -0500)]
switch security_path_chmod() to struct path *

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agovfs: prefer ->dentry->d_sb to ->mnt->mnt_sb
Al Viro [Wed, 7 Dec 2011 23:16:57 +0000 (18:16 -0500)]
vfs: prefer ->dentry->d_sb to ->mnt->mnt_sb

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agoMerge branches 'vfsmount-guts', 'umode_t' and 'partitions' into Z
Al Viro [Sat, 7 Jan 2012 04:15:54 +0000 (23:15 -0500)]
Merge branches 'vfsmount-guts', 'umode_t' and 'partitions' into Z

12 years agovfs: trim includes a bit
Al Viro [Wed, 7 Dec 2011 18:06:11 +0000 (13:06 -0500)]
vfs: trim includes a bit

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

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agoswitch mnt_namespace ->root to struct mount
Al Viro [Tue, 6 Dec 2011 18:32:36 +0000 (13:32 -0500)]
switch mnt_namespace ->root to struct mount

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agovfs: take /proc/*/mounts and friends to fs/proc_namespace.c
Al Viro [Tue, 6 Dec 2011 17:21:54 +0000 (12:21 -0500)]
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>
12 years agovfs: opencode mntget() mnt_set_mountpoint()
Al Viro [Fri, 25 Nov 2011 08:19:09 +0000 (03:19 -0500)]
vfs: opencode mntget() mnt_set_mountpoint()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agovfs: spread struct mount - remaining argument of next_mnt()
Al Viro [Fri, 25 Nov 2011 08:06:56 +0000 (03:06 -0500)]
vfs: spread struct mount - remaining argument of next_mnt()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agovfs: move fsnotify junk to struct mount
Al Viro [Fri, 25 Nov 2011 07:35:16 +0000 (02:35 -0500)]
vfs: move fsnotify junk to struct mount

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agovfs: move mnt_devname
Al Viro [Fri, 25 Nov 2011 07:25:17 +0000 (02:25 -0500)]
vfs: move mnt_devname

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agovfs: move mnt_list to struct mount
Al Viro [Fri, 25 Nov 2011 07:19:55 +0000 (02:19 -0500)]
vfs: move mnt_list to struct mount

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agovfs: switch pnode.h macros to struct mount *
Al Viro [Fri, 25 Nov 2011 06:05:37 +0000 (01:05 -0500)]
vfs: switch pnode.h macros to struct mount *

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agovfs: move the rest of int fields to struct mount
Al Viro [Fri, 25 Nov 2011 05:57:42 +0000 (00:57 -0500)]
vfs: move the rest of int fields to struct mount

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agovfs: mnt_id/mnt_group_id moved
Al Viro [Fri, 25 Nov 2011 05:50:41 +0000 (00:50 -0500)]
vfs: mnt_id/mnt_group_id moved

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agovfs: mnt_ns moved to struct mount
Al Viro [Fri, 25 Nov 2011 05:46:35 +0000 (00:46 -0500)]
vfs: mnt_ns moved to struct mount

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agovfs: spread struct mount - mntput_no_expire
Al Viro [Fri, 25 Nov 2011 05:33:11 +0000 (00:33 -0500)]
vfs: spread struct mount - mntput_no_expire

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agovfs: spread struct mount - do_add_mount and graft_tree
Al Viro [Fri, 25 Nov 2011 05:30:56 +0000 (00:30 -0500)]
vfs: spread struct mount - do_add_mount and graft_tree

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 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 (00:22 -0500)]
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>
12 years agovfs: and now we can make ->mnt_master point to struct mount
Al Viro [Fri, 25 Nov 2011 05:10:28 +0000 (00:10 -0500)]
vfs: and now we can make ->mnt_master point to struct mount

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agovfs: take mnt_master to struct mount
Al Viro [Fri, 25 Nov 2011 05:07:16 +0000 (00:07 -0500)]
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>
12 years agovfs: spread struct mount - remaining argument of mnt_set_mountpoint()
Al Viro [Fri, 25 Nov 2011 05:01:17 +0000 (00:01 -0500)]
vfs: spread struct mount - remaining argument of mnt_set_mountpoint()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agovfs: spread struct mount - propagate_mnt()
Al Viro [Fri, 25 Nov 2011 04:59:29 +0000 (23:59 -0500)]
vfs: spread struct mount - propagate_mnt()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agovfs: spread struct mount - shared subtree iterators
Al Viro [Fri, 25 Nov 2011 04:56:26 +0000 (23:56 -0500)]
vfs: spread struct mount - shared subtree iterators

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agovfs: spread struct mount - get_dominating_id / do_make_slave
Al Viro [Fri, 25 Nov 2011 04:35:54 +0000 (23:35 -0500)]
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>
12 years agovfs: take mnt_child/mnt_mounts to struct mount
Al Viro [Fri, 25 Nov 2011 04:24:33 +0000 (23:24 -0500)]
vfs: take mnt_child/mnt_mounts to struct mount

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agovfs: all counters taken to struct mount
Al Viro [Fri, 25 Nov 2011 03:53:09 +0000 (22:53 -0500)]
vfs: all counters taken to struct mount

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agovfs: spread struct mount - work with counters
Al Viro [Fri, 25 Nov 2011 03:37:54 +0000 (22:37 -0500)]
vfs: spread struct mount - work with counters

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agovfs: move mnt_mountpoint to struct mount
Al Viro [Fri, 25 Nov 2011 03:25:07 +0000 (22:25 -0500)]
vfs: move mnt_mountpoint to struct mount

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agovfs: now it can be done - make mnt_parent point to struct mount
Al Viro [Fri, 25 Nov 2011 03:19:58 +0000 (22:19 -0500)]
vfs: now it can be done - make mnt_parent point to struct mount

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agovfs: mnt_parent moved to struct mount
Al Viro [Fri, 25 Nov 2011 03:05:19 +0000 (22:05 -0500)]
vfs: mnt_parent moved to struct mount

the second victim...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agovfs: spread struct mount - is_path_reachable
Al Viro [Fri, 25 Nov 2011 03:00:28 +0000 (22:00 -0500)]
vfs: spread struct mount - is_path_reachable

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agovfs: spread struct mount - mnt_has_parent
Al Viro [Fri, 25 Nov 2011 02:47:05 +0000 (21:47 -0500)]
vfs: spread struct mount - mnt_has_parent

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agovfs: spread struct mount - do_umount/propagate_mount_busy
Al Viro [Fri, 25 Nov 2011 02:35:16 +0000 (21:35 -0500)]
vfs: spread struct mount - do_umount/propagate_mount_busy

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agovfs: spread struct mount mnt_set_mountpoint child argument
Al Viro [Fri, 25 Nov 2011 02:28:22 +0000 (21:28 -0500)]
vfs: spread struct mount mnt_set_mountpoint child argument

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agovfs: spread struct mount - clone_mnt/copy_tree argument
Al Viro [Fri, 25 Nov 2011 02:24:27 +0000 (21:24 -0500)]
vfs: spread struct mount - clone_mnt/copy_tree argument

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agovfs: spread struct mount - shrink_submounts/select_submounts
Al Viro [Fri, 25 Nov 2011 02:15:14 +0000 (21:15 -0500)]
vfs: spread struct mount - shrink_submounts/select_submounts

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agovfs: spread struct mount - umount_tree argument
Al Viro [Fri, 25 Nov 2011 02:07:43 +0000 (21:07 -0500)]
vfs: spread struct mount - umount_tree argument

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agovfs: the first spoils - mnt_hash moved
Al Viro [Fri, 25 Nov 2011 02:01:32 +0000 (21:01 -0500)]
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>
12 years agovfs: spread struct mount to remaining users of ->mnt_hash
Al Viro [Fri, 25 Nov 2011 01:58:57 +0000 (20:58 -0500)]
vfs: spread struct mount to remaining users of ->mnt_hash

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agovfs: spread struct mount - clone_mnt/copy_tree result
Al Viro [Fri, 25 Nov 2011 01:55:08 +0000 (20:55 -0500)]
vfs: spread struct mount - clone_mnt/copy_tree result

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agovfs: spread struct mount - change_mnt_propagation/set_mnt_shared
Al Viro [Fri, 25 Nov 2011 01:43:10 +0000 (20:43 -0500)]
vfs: spread struct mount - change_mnt_propagation/set_mnt_shared

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 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 (20:38 -0500)]
vfs: spread struct mount - alloc_vfsmnt/free_vfsmnt/mnt_alloc_id/mnt_free_id

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agovfs: spread struct mount - tree_contains_unbindable
Al Viro [Fri, 25 Nov 2011 01:01:19 +0000 (20:01 -0500)]
vfs: spread struct mount - tree_contains_unbindable

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agovfs: spread struct mount - attach_recursive_mnt
Al Viro [Fri, 25 Nov 2011 00:59:16 +0000 (19:59 -0500)]
vfs: spread struct mount - attach_recursive_mnt

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agovfs: spread struct mount - mount group id handling
Al Viro [Fri, 25 Nov 2011 00:54:23 +0000 (19:54 -0500)]
vfs: spread struct mount - mount group id handling

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agovfs: spread struct mount - commit_tree
Al Viro [Fri, 25 Nov 2011 00:47:15 +0000 (19:47 -0500)]
vfs: spread struct mount - commit_tree

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agovfs: spread struct mount - attach_mnt/detach_mnt
Al Viro [Fri, 25 Nov 2011 00:41:16 +0000 (19:41 -0500)]
vfs: spread struct mount - attach_mnt/detach_mnt

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agovfs: spread struct mount - namespace.c internal iterators
Al Viro [Thu, 24 Nov 2011 23:57:30 +0000 (18:57 -0500)]
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>
12 years agovfs: spread struct mount - __propagate_umount() argument
Al Viro [Thu, 24 Nov 2011 23:25:28 +0000 (18:25 -0500)]
vfs: spread struct mount - __propagate_umount() argument

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agovfs: spread struct mount - __lookup_mnt() result
Al Viro [Thu, 24 Nov 2011 23:22:03 +0000 (18:22 -0500)]
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>
12 years agovfs: start hiding vfsmount guts series
Al Viro [Wed, 23 Nov 2011 17:14:10 +0000 (12:14 -0500)]
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>
12 years agoswitch open and mkdir syscalls to umode_t
Al Viro [Mon, 21 Nov 2011 19:59:34 +0000 (14:59 -0500)]
switch open and mkdir syscalls to umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agoswitch ->path_mknod() to umode_t
Al Viro [Mon, 21 Nov 2011 19:58:38 +0000 (14:58 -0500)]
switch ->path_mknod() to umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agoswitch ->path_mkdir() to umode_t
Al Viro [Mon, 21 Nov 2011 19:56:21 +0000 (14:56 -0500)]
switch ->path_mkdir() to umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agotomoyo_mini_stat: switch to umode_t
Al Viro [Sat, 27 Aug 2011 03:03:17 +0000 (23:03 -0400)]
tomoyo_mini_stat: switch to umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agoconsolidate a bunch of ipcbuf.h instances
Al Viro [Wed, 27 Jul 2011 18:54:36 +0000 (14:54 -0400)]
consolidate a bunch of ipcbuf.h instances

... some still remain weird :-/

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agoauditsc: propage umode_t
Al Viro [Wed, 27 Jul 2011 18:04:25 +0000 (14:04 -0400)]
auditsc: propage umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agoswitch kern_ipc_perm to umode_t
Al Viro [Wed, 27 Jul 2011 18:03:22 +0000 (14:03 -0400)]
switch kern_ipc_perm to umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agoconsolidate umode_t declarations
Al Viro [Tue, 26 Jul 2011 21:04:15 +0000 (17:04 -0400)]
consolidate umode_t declarations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 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 (16:50 -0400)]
switch spu_create(2) to use of SYSCALL_DEFINE4, make it use umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agoswitch mq_open() to umode_t
Al Viro [Tue, 26 Jul 2011 09:26:10 +0000 (05:26 -0400)]
switch mq_open() to umode_t

12 years agoceph: propagate umode_t
Al Viro [Tue, 26 Jul 2011 08:52:22 +0000 (04:52 -0400)]
ceph: propagate umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agoswitch hostfs_iattr to explicit unsigned short
Al Viro [Tue, 26 Jul 2011 08:48:59 +0000 (04:48 -0400)]
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>
12 years agoswitch miscdevice to umode_t
Al Viro [Tue, 26 Jul 2011 08:47:38 +0000 (04:47 -0400)]
switch miscdevice to umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agoswitch spufs guts to umode_t
Al Viro [Tue, 26 Jul 2011 08:47:14 +0000 (04:47 -0400)]
switch spufs guts to umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agoinit/initramfs.c: should use umode_t
Al Viro [Tue, 26 Jul 2011 08:34:13 +0000 (04:34 -0400)]
init/initramfs.c: should use umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agoswitch may_mknod() to umode_t
Al Viro [Tue, 26 Jul 2011 08:31:40 +0000 (04:31 -0400)]
switch may_mknod() to umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agoshould_remove_suid(): inode->i_mode is umode_t
Al Viro [Tue, 26 Jul 2011 08:31:05 +0000 (04:31 -0400)]
should_remove_suid(): inode->i_mode is umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agoswitch securityfs_create_file() to umode_t
Al Viro [Tue, 26 Jul 2011 08:30:04 +0000 (04:30 -0400)]
switch securityfs_create_file() to umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agoswitch security_path_chmod() to umode_t
Al Viro [Tue, 26 Jul 2011 08:25:58 +0000 (04:25 -0400)]
switch security_path_chmod() to umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agoswitch sys_chmod()/sys_fchmod()/sys_fchmodat() to umode_t
Al Viro [Tue, 26 Jul 2011 08:22:01 +0000 (04:22 -0400)]
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>
12 years agosysctl: use umode_t for table permissions
Al Viro [Tue, 26 Jul 2011 07:47:31 +0000 (03:47 -0400)]
sysctl: use umode_t for table permissions

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agoget rid of open-coded S_ISREG(), etc.
Al Viro [Tue, 26 Jul 2011 00:49:29 +0000 (20:49 -0400)]
get rid of open-coded S_ISREG(), etc.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agomqueue: propagate umode_t
Al Viro [Sun, 24 Jul 2011 18:18:20 +0000 (14:18 -0400)]
mqueue: propagate umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agoswitch is_sxid() to umode_t
Al Viro [Mon, 25 Jul 2011 03:21:59 +0000 (23:21 -0400)]
switch is_sxid() to umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agoswitch inode_init_owner() to umode_t
Al Viro [Mon, 25 Jul 2011 03:20:18 +0000 (23:20 -0400)]
switch inode_init_owner() to umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agofs: propagate umode_t, misc bits
Al Viro [Tue, 26 Jul 2011 07:30:54 +0000 (03:30 -0400)]
fs: propagate umode_t, misc bits

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agoautofs4: propagate umode_t
Al Viro [Tue, 26 Jul 2011 07:29:03 +0000 (03:29 -0400)]
autofs4: propagate umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agohfsplus: propagate umode_t
Al Viro [Tue, 26 Jul 2011 07:26:51 +0000 (03:26 -0400)]
hfsplus: propagate umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agohfs: propagate umode_t
Al Viro [Tue, 26 Jul 2011 07:26:05 +0000 (03:26 -0400)]
hfs: propagate umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agocifs: propagate umode_t
Al Viro [Tue, 26 Jul 2011 07:22:14 +0000 (03:22 -0400)]
cifs: propagate umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agofat: propagate umode_t
Al Viro [Tue, 26 Jul 2011 07:21:30 +0000 (03:21 -0400)]
fat: propagate umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agontfs: propagate umode_t
Al Viro [Tue, 26 Jul 2011 07:20:46 +0000 (03:20 -0400)]
ntfs: propagate umode_t

same story as with isofs and udf...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agoisofs: propagate umode_t
Al Viro [Tue, 26 Jul 2011 07:19:52 +0000 (03:19 -0400)]
isofs: propagate umode_t

situation with mount options is the same as for udf

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agoudf: propagate umode_t
Al Viro [Tue, 26 Jul 2011 07:18:29 +0000 (03:18 -0400)]
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>
12 years agofuse: propagate umode_t
Al Viro [Tue, 26 Jul 2011 07:17:33 +0000 (03:17 -0400)]
fuse: propagate umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agopohmelfs: propagate umode_t
Al Viro [Tue, 26 Jul 2011 07:16:55 +0000 (03:16 -0400)]
pohmelfs: propagate umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agoshmem, ramfs: propagate umode_t, open-coded S_ISREG
Al Viro [Tue, 26 Jul 2011 07:15:03 +0000 (03:15 -0400)]
shmem, ramfs: propagate umode_t, open-coded S_ISREG

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agologfs: propagate umode_t
Al Viro [Tue, 26 Jul 2011 07:13:21 +0000 (03:13 -0400)]
logfs: propagate umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agoubifs: propagate umode_t
Al Viro [Tue, 26 Jul 2011 07:12:59 +0000 (03:12 -0400)]
ubifs: propagate umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agoncpfs: propagate umode_t
Al Viro [Tue, 26 Jul 2011 07:12:16 +0000 (03:12 -0400)]
ncpfs: propagate umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agohugetlbfs: propagate umode_t
Al Viro [Mon, 25 Jul 2011 03:17:40 +0000 (23:17 -0400)]
hugetlbfs: propagate umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agoexofs: propagate umode_t
Al Viro [Tue, 26 Jul 2011 07:07:49 +0000 (03:07 -0400)]
exofs: propagate umode_t

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