* + ext2-dont-inherit-inappropriate-inode-flags-from-parent.patch added to -mm tree
@ 2008-06-05 4:37 akpm
2008-06-05 5:30 ` Andreas Dilger
0 siblings, 1 reply; 4+ messages in thread
From: akpm @ 2008-06-05 4:37 UTC (permalink / raw)
To: mm-commits; +Cc: duaneg, linux-ext4
The patch titled
ext2: don't inherit inappropriate inode flags from parent
has been added to the -mm tree. Its filename is
ext2-dont-inherit-inappropriate-inode-flags-from-parent.patch
Before you just go and hit "reply", please:
a) Consider who else should be cc'ed
b) Prefer to cc a suitable mailing list as well
c) Ideally: find the original patch on the mailing list and do a
reply-to-all to that, adding suitable additional cc's
*** Remember to use Documentation/SubmitChecklist when testing your code ***
See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find
out what to do about this
The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/
------------------------------------------------------
Subject: ext2: don't inherit inappropriate inode flags from parent
From: "Duane Griffin" <duaneg@dghda.com>
Fix the TOPDIR flag inheritance bug reported at
http://bugzilla.kernel.org/show_bug.cgi?id=9866.
Some file attributes have sticky behaviour in ext2/3 whereas I believe
it should not. Namely, a directory marked with chattr +T serves "to be
the top of directory hierarchies for the purposes of the Orlov block
allocator", as the manpage says.
It seems wrong that subdirectories stickily inherit the +T flag: they
are obviously not top-level! Even files get the T attribute this way,
even though the chattr manpages only documents it for directories.
Also prevent inheritance of other flags that Andreas Dilger identified as
inappropriate to inherit
At present BTREE is the only flag that new ext2 inodes do NOT inherit from
their parent. In addition prevent the flags DIRTY, ECOMPR, INDEX, IMAGIC
and TOPDIR from being inherited.
Signed-off-by: Duane Griffin <duaneg@dghda.com>
Cc: <linux-ext4@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
fs/ext2/ialloc.c | 2 +-
include/linux/ext2_fs.h | 4 ++++
2 files changed, 5 insertions(+), 1 deletion(-)
diff -puN fs/ext2/ialloc.c~ext2-dont-inherit-inappropriate-inode-flags-from-parent fs/ext2/ialloc.c
--- a/fs/ext2/ialloc.c~ext2-dont-inherit-inappropriate-inode-flags-from-parent
+++ a/fs/ext2/ialloc.c
@@ -565,7 +565,7 @@ got:
inode->i_blocks = 0;
inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME_SEC;
memset(ei->i_data, 0, sizeof(ei->i_data));
- ei->i_flags = EXT2_I(dir)->i_flags & ~EXT2_BTREE_FL;
+ ei->i_flags = EXT2_I(dir)->i_flags & EXT2_FL_INHERITED;
if (S_ISLNK(mode))
ei->i_flags &= ~(EXT2_IMMUTABLE_FL|EXT2_APPEND_FL);
/* dirsync is only applied to directories */
diff -puN include/linux/ext2_fs.h~ext2-dont-inherit-inappropriate-inode-flags-from-parent include/linux/ext2_fs.h
--- a/include/linux/ext2_fs.h~ext2-dont-inherit-inappropriate-inode-flags-from-parent
+++ a/include/linux/ext2_fs.h
@@ -194,6 +194,10 @@ struct ext2_group_desc
#define EXT2_FL_USER_VISIBLE FS_FL_USER_VISIBLE /* User visible flags */
#define EXT2_FL_USER_MODIFIABLE FS_FL_USER_MODIFIABLE /* User modifiable flags */
+/* Flags that should be inherited by new inodes from their parent. */
+#define EXT2_FL_INHERITED ~(EXT2_DIRTY_FL | EXT2_ECOMPR_FL | EXT2_BTREE_FL |\
+ EXT2_INDEX_FL | EXT2_IMAGIC_FL | EXT2_TOPDIR_FL)
+
/*
* ioctl commands
*/
_
Patches currently in -mm which might be from duaneg@dghda.com are
jbd-replace-potentially-false-assertion-with-if-block.patch
jbd-eliminate-duplicated-code-in-revocation-table-init-destroy-functions.patch
jbd-tidy-up-revoke-cache-initialisation-and-destruction.patch
ext2-dont-inherit-inappropriate-inode-flags-from-parent.patch
ext3-dont-inherit-inappropriate-inode-flags-from-parent.patch
ext4-dont-inherit-inappropriate-inode-flags-from-parent.patch
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: + ext2-dont-inherit-inappropriate-inode-flags-from-parent.patch added to -mm tree
2008-06-05 4:37 + ext2-dont-inherit-inappropriate-inode-flags-from-parent.patch added to -mm tree akpm
@ 2008-06-05 5:30 ` Andreas Dilger
2008-06-05 5:37 ` Andrew Morton
0 siblings, 1 reply; 4+ messages in thread
From: Andreas Dilger @ 2008-06-05 5:30 UTC (permalink / raw)
To: akpm; +Cc: mm-commits, duaneg, linux-ext4
On Jun 04, 2008 21:37 -0700, Andrew Morton wrote:
> +/* Flags that should be inherited by new inodes from their parent. */
> +#define EXT2_FL_INHERITED ~(EXT2_DIRTY_FL | EXT2_ECOMPR_FL | EXT2_BTREE_FL |\
> + EXT2_INDEX_FL | EXT2_IMAGIC_FL | EXT2_TOPDIR_FL)
This doesn't make things much better, unless it is just as a stop-gap
measure to get into the kernel while there is more discussion about which
flags need to be inherited... Duane did mention follow-up patches, so
I have no real objection to this patch as-is, so long as we don't consider
the matter closed.
Minor nit - "EXT2_BTREE_FL" is the long-deprecated name for "EXT2_INDEX_FL",
so we may as well just avoid it entirely here.
Yes, this patch avoids a few more of the cases that are bad, but will
again be incorrect as soon as some new flag enters use.
Cheers, Andreas
--
Andreas Dilger
Sr. Staff Engineer, Lustre Group
Sun Microsystems of Canada, Inc.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: + ext2-dont-inherit-inappropriate-inode-flags-from-parent.patch added to -mm tree
2008-06-05 5:30 ` Andreas Dilger
@ 2008-06-05 5:37 ` Andrew Morton
0 siblings, 0 replies; 4+ messages in thread
From: Andrew Morton @ 2008-06-05 5:37 UTC (permalink / raw)
To: Andreas Dilger; +Cc: duaneg, linux-ext4
On Wed, 04 Jun 2008 23:30:43 -0600 Andreas Dilger <adilger@sun.com> wrote:
> On Jun 04, 2008 21:37 -0700, Andrew Morton wrote:
> > +/* Flags that should be inherited by new inodes from their parent. */
> > +#define EXT2_FL_INHERITED ~(EXT2_DIRTY_FL | EXT2_ECOMPR_FL | EXT2_BTREE_FL |\
> > + EXT2_INDEX_FL | EXT2_IMAGIC_FL | EXT2_TOPDIR_FL)
>
> This doesn't make things much better, unless it is just as a stop-gap
> measure to get into the kernel while there is more discussion about which
> flags need to be inherited... Duane did mention follow-up patches, so
> I have no real objection to this patch as-is, so long as we don't consider
> the matter closed.
>
> Minor nit - "EXT2_BTREE_FL" is the long-deprecated name for "EXT2_INDEX_FL",
> so we may as well just avoid it entirely here.
>
> Yes, this patch avoids a few more of the cases that are bad, but will
> again be incorrect as soon as some new flag enters use.
>
ah, OK, thanks. I'll drop them again pending finalisation of all this.
^ permalink raw reply [flat|nested] 4+ messages in thread
* + ext2-dont-inherit-inappropriate-inode-flags-from-parent.patch added to -mm tree
@ 2008-12-07 6:18 akpm
0 siblings, 0 replies; 4+ messages in thread
From: akpm @ 2008-12-07 6:18 UTC (permalink / raw)
To: mm-commits; +Cc: duaneg, adilger, linux-ext4
The patch titled
ext2: don't inherit inappropriate inode flags from parent
has been added to the -mm tree. Its filename is
ext2-dont-inherit-inappropriate-inode-flags-from-parent.patch
Before you just go and hit "reply", please:
a) Consider who else should be cc'ed
b) Prefer to cc a suitable mailing list as well
c) Ideally: find the original patch on the mailing list and do a
reply-to-all to that, adding suitable additional cc's
*** Remember to use Documentation/SubmitChecklist when testing your code ***
See http://userweb.kernel.org/~akpm/stuff/added-to-mm.txt to find
out what to do about this
The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/
------------------------------------------------------
Subject: ext2: don't inherit inappropriate inode flags from parent
From: "Duane Griffin" <duaneg@dghda.com>
At present BTREE/INDEX is the only flag that new ext2 inodes do NOT
inherit from their parent. In addition prevent the flags DIRTY, ECOMPR,
INDEX, IMAGIC and TOPDIR from being inherited. List inheritable flags
explicitly to prevent future flags from accidentally being inherited.
This fixes the TOPDIR flag inheritance bug reported at
http://bugzilla.kernel.org/show_bug.cgi?id=9866.
Signed-off-by: Duane Griffin <duaneg@dghda.com>
Acked-by: Andreas Dilger <adilger@sun.com>
Cc: <linux-ext4@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
fs/ext2/ialloc.c | 2 +-
include/linux/ext2_fs.h | 7 +++++++
2 files changed, 8 insertions(+), 1 deletion(-)
diff -puN fs/ext2/ialloc.c~ext2-dont-inherit-inappropriate-inode-flags-from-parent fs/ext2/ialloc.c
--- a/fs/ext2/ialloc.c~ext2-dont-inherit-inappropriate-inode-flags-from-parent
+++ a/fs/ext2/ialloc.c
@@ -565,7 +565,7 @@ got:
inode->i_blocks = 0;
inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME_SEC;
memset(ei->i_data, 0, sizeof(ei->i_data));
- ei->i_flags = EXT2_I(dir)->i_flags & ~EXT2_BTREE_FL;
+ ei->i_flags = EXT2_I(dir)->i_flags & EXT2_FL_INHERITED;
if (S_ISLNK(mode))
ei->i_flags &= ~(EXT2_IMMUTABLE_FL|EXT2_APPEND_FL);
/* dirsync is only applied to directories */
diff -puN include/linux/ext2_fs.h~ext2-dont-inherit-inappropriate-inode-flags-from-parent include/linux/ext2_fs.h
--- a/include/linux/ext2_fs.h~ext2-dont-inherit-inappropriate-inode-flags-from-parent
+++ a/include/linux/ext2_fs.h
@@ -194,6 +194,13 @@ struct ext2_group_desc
#define EXT2_FL_USER_VISIBLE FS_FL_USER_VISIBLE /* User visible flags */
#define EXT2_FL_USER_MODIFIABLE FS_FL_USER_MODIFIABLE /* User modifiable flags */
+/* Flags that should be inherited by new inodes from their parent. */
+#define EXT2_FL_INHERITED (EXT2_SECRM_FL | EXT2_UNRM_FL | EXT2_COMPR_FL |\
+ EXT2_SYNC_FL | EXT2_IMMUTABLE_FL | EXT2_APPEND_FL |\
+ EXT2_NODUMP_FL | EXT2_NOATIME_FL | EXT2_COMPRBLK_FL|\
+ EXT2_NOCOMP_FL | EXT2_JOURNAL_DATA_FL |\
+ EXT2_NOTAIL_FL | EXT2_DIRSYNC_FL)
+
/*
* ioctl commands
*/
_
Patches currently in -mm which might be from duaneg@dghda.com are
ext2-dont-inherit-inappropriate-inode-flags-from-parent.patch
ext3-dont-inherit-inappropriate-inode-flags-from-parent.patch
ext4-dont-inherit-inappropriate-inode-flags-from-parent.patch
ext2-tighten-restrictions-on-inode-flags.patch
ext3-tighten-restrictions-on-inode-flags.patch
ext4-tighten-restrictions-on-inode-flags.patch
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2008-12-07 6:18 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-05 4:37 + ext2-dont-inherit-inappropriate-inode-flags-from-parent.patch added to -mm tree akpm
2008-06-05 5:30 ` Andreas Dilger
2008-06-05 5:37 ` Andrew Morton
-- strict thread matches above, loose matches on Subject: below --
2008-12-07 6:18 akpm
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox