diff options
Diffstat (limited to 'fs/ext4/ext4.h')
-rw-r--r-- | fs/ext4/ext4.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h index d4700d101ea7..2cbfc0b04d37 100644 --- a/fs/ext4/ext4.h +++ b/fs/ext4/ext4.h | |||
@@ -246,6 +246,23 @@ struct flex_groups { | |||
246 | EXT4_NOCOMPR_FL | EXT4_JOURNAL_DATA_FL |\ | 246 | EXT4_NOCOMPR_FL | EXT4_JOURNAL_DATA_FL |\ |
247 | EXT4_NOTAIL_FL | EXT4_DIRSYNC_FL) | 247 | EXT4_NOTAIL_FL | EXT4_DIRSYNC_FL) |
248 | 248 | ||
249 | /* Flags that are appropriate for regular files (all but dir-specific ones). */ | ||
250 | #define EXT4_REG_FLMASK (~(EXT4_DIRSYNC_FL | EXT4_TOPDIR_FL)) | ||
251 | |||
252 | /* Flags that are appropriate for non-directories/regular files. */ | ||
253 | #define EXT4_OTHER_FLMASK (EXT4_NODUMP_FL | EXT4_NOATIME_FL) | ||
254 | |||
255 | /* Mask out flags that are inappropriate for the given type of inode. */ | ||
256 | static inline __u32 ext4_mask_flags(umode_t mode, __u32 flags) | ||
257 | { | ||
258 | if (S_ISDIR(mode)) | ||
259 | return flags; | ||
260 | else if (S_ISREG(mode)) | ||
261 | return flags & EXT4_REG_FLMASK; | ||
262 | else | ||
263 | return flags & EXT4_OTHER_FLMASK; | ||
264 | } | ||
265 | |||
249 | /* | 266 | /* |
250 | * Inode dynamic state flags | 267 | * Inode dynamic state flags |
251 | */ | 268 | */ |