|
@@ -443,19 +443,20 @@ struct inode *nilfs_new_inode(struct inode *dir, umode_t mode)
|
|
|
void nilfs_set_inode_flags(struct inode *inode)
|
|
|
{
|
|
|
unsigned int flags = NILFS_I(inode)->i_flags;
|
|
|
+ unsigned int new_fl = 0;
|
|
|
|
|
|
- inode->i_flags &= ~(S_SYNC | S_APPEND | S_IMMUTABLE | S_NOATIME |
|
|
|
- S_DIRSYNC);
|
|
|
if (flags & FS_SYNC_FL)
|
|
|
- inode->i_flags |= S_SYNC;
|
|
|
+ new_fl |= S_SYNC;
|
|
|
if (flags & FS_APPEND_FL)
|
|
|
- inode->i_flags |= S_APPEND;
|
|
|
+ new_fl |= S_APPEND;
|
|
|
if (flags & FS_IMMUTABLE_FL)
|
|
|
- inode->i_flags |= S_IMMUTABLE;
|
|
|
+ new_fl |= S_IMMUTABLE;
|
|
|
if (flags & FS_NOATIME_FL)
|
|
|
- inode->i_flags |= S_NOATIME;
|
|
|
+ new_fl |= S_NOATIME;
|
|
|
if (flags & FS_DIRSYNC_FL)
|
|
|
- inode->i_flags |= S_DIRSYNC;
|
|
|
+ new_fl |= S_DIRSYNC;
|
|
|
+ inode_set_flags(inode, new_fl, S_SYNC | S_APPEND | S_IMMUTABLE |
|
|
|
+ S_NOATIME | S_DIRSYNC);
|
|
|
}
|
|
|
|
|
|
int nilfs_read_inode_common(struct inode *inode,
|