Dave Kleikamp <shaggy@xxxxxxxxxxxxxxxxxx> writes: > Acked-by: Dave Kleikamp <shaggy@xxxxxxxxxxxxxxxxxx> > > One minor nit though. jfs maintains jfs_inode->mode2 which is a > superset of inode->i_mode. Since inode_init_owner() may set S_ISGID, > the following change should also be made. (I don't think these > duplicate bits in mode2 are really important, but we may as well be > consistent.) Folded in to one patch.
>From fae29b54bd3735a9723499bc6110c533089b79fe Mon Sep 17 00:00:00 2001 From: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Date: Thu, 18 Feb 2010 09:43:31 +0300 Subject: [PATCH 09/19] jfs: replace inode uid,gid,mode init with helper v2 Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> --- fs/jfs/jfs_inode.c | 12 ++---------- 1 files changed, 2 insertions(+), 10 deletions(-) diff --git a/fs/jfs/jfs_inode.c b/fs/jfs/jfs_inode.c index dc0e021..705646d 100644 --- a/fs/jfs/jfs_inode.c +++ b/fs/jfs/jfs_inode.c @@ -98,14 +98,7 @@ struct inode *ialloc(struct inode *parent, umode_t mode) goto fail_unlock; } - inode->i_uid = current_fsuid(); - if (parent->i_mode & S_ISGID) { - inode->i_gid = parent->i_gid; - if (S_ISDIR(mode)) - mode |= S_ISGID; - } else - inode->i_gid = current_fsgid(); - + inode_init_owner(inode, parent, mode); /* * New inodes need to save sane values on disk when * uid & gid mount options are used @@ -121,7 +114,6 @@ struct inode *ialloc(struct inode *parent, umode_t mode) goto fail_drop; } - inode->i_mode = mode; /* inherit flags from parent */ jfs_inode->mode2 = JFS_IP(parent)->mode2 & JFS_FL_INHERIT; @@ -134,7 +126,7 @@ struct inode *ialloc(struct inode *parent, umode_t mode) if (S_ISLNK(mode)) jfs_inode->mode2 &= ~(JFS_IMMUTABLE_FL|JFS_APPEND_FL); } - jfs_inode->mode2 |= mode; + jfs_inode->mode2 |= inode->i_mode; inode->i_blocks = 0; inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME; -- 1.6.6