On Tue, 2007-04-17 at 12:38 +0200, Jan Kara wrote: > Hi, > > attached is a second version of a patch that stores inode flags such as > S_IMMUTABLE, S_APPEND, etc. from i_flags to EXT3_I(inode)->i_flags when > inode is written to disk. The same thing is done on GETFLAGS ioctl. > Quota code changes these flags on quota files (to make it harder for > sysadmin to screw himself) and these changes were not correctly > propagated into the filesystem (especially, lsattr did not show them and > users were wondering...). Andrew, could you please put the patch into your > queue? Thanks. I think you need a call to ext3_get_inode_flags in one more place. In ext3_ioctl(), EXT3_IOC_SETFLAGS modifies the flags based on what is in ei->i_flags, so this code should make sure that ei->i_flags is in sync with inode->i_flags. Signed-off-by: Dave Kleikamp <shaggy@xxxxxxxxxxxxxxxxxx> diff -Nurp linux-orig/fs/ext3/ioctl.c linux/fs/ext3/ioctl.c --- linux-orig/fs/ext3/ioctl.c 2007-04-24 10:04:50.000000000 -0500 +++ linux/fs/ext3/ioctl.c 2007-04-24 10:05:59.000000000 -0500 @@ -51,6 +51,7 @@ int ext3_ioctl (struct inode * inode, st flags &= ~EXT3_DIRSYNC_FL; mutex_lock(&inode->i_mutex); + ext3_get_inode_flags(ei); oldflags = ei->i_flags; /* The JOURNAL_DATA flag is modifiable only by root */ -- David Kleikamp IBM Linux Technology Center - To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html