2010-02-17 18:40:11

by Dmitry Monakhov

[permalink] [raw]
Subject: [PATCH 06/19] ext2: replace inode uid,gid,mode initialization with helper function


Signed-off-by: Dmitry Monakhov <[email protected]>
---
fs/ext2/ialloc.c | 12 ++++--------
1 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/fs/ext2/ialloc.c b/fs/ext2/ialloc.c
index 15387c9..4a4b132 100644
--- a/fs/ext2/ialloc.c
+++ b/fs/ext2/ialloc.c
@@ -550,16 +550,12 @@ got:

sb->s_dirt = 1;
mark_buffer_dirty(bh2);
- inode->i_uid = current_fsuid();
- if (test_opt (sb, GRPID))
+ if (test_opt (sb, GRPID)) {
+ inode->i_mode = mode;
+ inode->i_uid = current_fsuid();
inode->i_gid = dir->i_gid;
- else if (dir->i_mode & S_ISGID) {
- inode->i_gid = dir->i_gid;
- if (S_ISDIR(mode))
- mode |= S_ISGID;
} else
- inode->i_gid = current_fsgid();
- inode->i_mode = mode;
+ inode_init_owner(inode, dir, mode);

inode->i_ino = ino;
inode->i_blocks = 0;
--
1.6.6



2010-02-18 01:21:28

by Jan Kara

[permalink] [raw]
Subject: Re: [PATCH 06/19] ext2: replace inode uid,gid,mode initialization with helper function

>
> Signed-off-by: Dmitry Monakhov <[email protected]>
> ---
> fs/ext2/ialloc.c | 12 ++++--------
> 1 files changed, 4 insertions(+), 8 deletions(-)
>
> diff --git a/fs/ext2/ialloc.c b/fs/ext2/ialloc.c
> index 15387c9..4a4b132 100644
> --- a/fs/ext2/ialloc.c
> +++ b/fs/ext2/ialloc.c
> @@ -550,16 +550,12 @@ got:
>
> sb->s_dirt = 1;
> mark_buffer_dirty(bh2);
> - inode->i_uid = current_fsuid();
> - if (test_opt (sb, GRPID))
> + if (test_opt (sb, GRPID)) {
As Andreas wrote, please don't use space after a function name.
Otherwise the patch looks fine.

Honza

> + inode->i_mode = mode;
> + inode->i_uid = current_fsuid();
> inode->i_gid = dir->i_gid;
> - else if (dir->i_mode & S_ISGID) {
> - inode->i_gid = dir->i_gid;
> - if (S_ISDIR(mode))
> - mode |= S_ISGID;
> } else
> - inode->i_gid = current_fsgid();
> - inode->i_mode = mode;
> + inode_init_owner(inode, dir, mode);
>
> inode->i_ino = ino;
> inode->i_blocks = 0;
> --
> 1.6.6
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Jan Kara <[email protected]>
SuSE CR Labs

2010-02-18 07:00:03

by Dmitry Monakhov

[permalink] [raw]
Subject: [PATCH 06/19] ext2: replace inode uid,gid,mode init with helper v2


Signed-off-by: Dmitry Monakhov <[email protected]>
---
fs/ext2/ialloc.c | 12 ++++--------
1 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/fs/ext2/ialloc.c b/fs/ext2/ialloc.c
index 15387c9..2c484c6 100644
--- a/fs/ext2/ialloc.c
+++ b/fs/ext2/ialloc.c
@@ -550,16 +550,12 @@ got:

sb->s_dirt = 1;
mark_buffer_dirty(bh2);
- inode->i_uid = current_fsuid();
- if (test_opt (sb, GRPID))
+ if (test_opt(sb, GRPID)) {
+ inode->i_mode = mode;
+ inode->i_uid = current_fsuid();
inode->i_gid = dir->i_gid;
- else if (dir->i_mode & S_ISGID) {
- inode->i_gid = dir->i_gid;
- if (S_ISDIR(mode))
- mode |= S_ISGID;
} else
- inode->i_gid = current_fsgid();
- inode->i_mode = mode;
+ inode_init_owner(inode, dir, mode);

inode->i_ino = ino;
inode->i_blocks = 0;
--
1.6.6


2010-02-18 18:49:13

by Jan Kara

[permalink] [raw]
Subject: Re: [PATCH 06/19] ext2: replace inode uid,gid,mode init with helper v2

On Thu 18-02-10 10:00:03, Dmitry Monakhov wrote:
>
> Signed-off-by: Dmitry Monakhov <[email protected]>
Looks good.
Acked-by: Jan Kara <[email protected]>

Honza
> ---
> fs/ext2/ialloc.c | 12 ++++--------
> 1 files changed, 4 insertions(+), 8 deletions(-)
>
> diff --git a/fs/ext2/ialloc.c b/fs/ext2/ialloc.c
> index 15387c9..2c484c6 100644
> --- a/fs/ext2/ialloc.c
> +++ b/fs/ext2/ialloc.c
> @@ -550,16 +550,12 @@ got:
>
> sb->s_dirt = 1;
> mark_buffer_dirty(bh2);
> - inode->i_uid = current_fsuid();
> - if (test_opt (sb, GRPID))
> + if (test_opt(sb, GRPID)) {
> + inode->i_mode = mode;
> + inode->i_uid = current_fsuid();
> inode->i_gid = dir->i_gid;
> - else if (dir->i_mode & S_ISGID) {
> - inode->i_gid = dir->i_gid;
> - if (S_ISDIR(mode))
> - mode |= S_ISGID;
> } else
> - inode->i_gid = current_fsgid();
> - inode->i_mode = mode;
> + inode_init_owner(inode, dir, mode);
>
> inode->i_ino = ino;
> inode->i_blocks = 0;
> --
> 1.6.6
>
--
Jan Kara <[email protected]>
SUSE Labs, CR