aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ext4/ext4.h
diff options
context:
space:
mode:
Diffstat (limited to 'fs/ext4/ext4.h')
-rw-r--r--fs/ext4/ext4.h17
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. */
256static 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 */