|
@@ -29,20 +29,20 @@
|
|
|
void jfs_set_inode_flags(struct inode *inode)
|
|
|
{
|
|
|
unsigned int flags = JFS_IP(inode)->mode2;
|
|
|
-
|
|
|
- inode->i_flags &= ~(S_IMMUTABLE | S_APPEND |
|
|
|
- S_NOATIME | S_DIRSYNC | S_SYNC);
|
|
|
+ unsigned int new_fl = 0;
|
|
|
|
|
|
if (flags & JFS_IMMUTABLE_FL)
|
|
|
- inode->i_flags |= S_IMMUTABLE;
|
|
|
+ new_fl |= S_IMMUTABLE;
|
|
|
if (flags & JFS_APPEND_FL)
|
|
|
- inode->i_flags |= S_APPEND;
|
|
|
+ new_fl |= S_APPEND;
|
|
|
if (flags & JFS_NOATIME_FL)
|
|
|
- inode->i_flags |= S_NOATIME;
|
|
|
+ new_fl |= S_NOATIME;
|
|
|
if (flags & JFS_DIRSYNC_FL)
|
|
|
- inode->i_flags |= S_DIRSYNC;
|
|
|
+ new_fl |= S_DIRSYNC;
|
|
|
if (flags & JFS_SYNC_FL)
|
|
|
- inode->i_flags |= S_SYNC;
|
|
|
+ new_fl |= S_SYNC;
|
|
|
+ inode_set_flags(inode, new_fl, S_IMMUTABLE | S_APPEND | S_NOATIME |
|
|
|
+ S_DIRSYNC | S_SYNC);
|
|
|
}
|
|
|
|
|
|
void jfs_get_inode_flags(struct jfs_inode_info *jfs_ip)
|