#define XFS_FEAT_BIGTIME       (1ULL << 24)    /* large timestamps */
 #define XFS_FEAT_NEEDSREPAIR   (1ULL << 25)    /* needs xfs_repair */
 
+/* Mount features */
+#define XFS_FEAT_NOATTR2       (1ULL << 48)    /* disable attr2 creation */
+#define XFS_FEAT_NOALIGN       (1ULL << 49)    /* ignore alignment */
+#define XFS_FEAT_ALLOCSIZE     (1ULL << 50)    /* user specified allocation size */
+#define XFS_FEAT_LARGE_IOSIZE  (1ULL << 51)    /* report large preferred
+                                                * I/O size in stat() */
+#define XFS_FEAT_WSYNC         (1ULL << 52)    /* synchronous metadata ops */
+#define XFS_FEAT_DIRSYNC       (1ULL << 53)    /* synchronous directory ops */
+#define XFS_FEAT_DISCARD       (1ULL << 54)    /* discard unused blocks */
+#define XFS_FEAT_GRPID         (1ULL << 55)    /* group-ID assigned from directory */
+#define XFS_FEAT_SMALL_INUMS   (1ULL << 56)    /* user wants 32bit inodes */
+#define XFS_FEAT_IKEEP         (1ULL << 57)    /* keep empty inode clusters*/
+#define XFS_FEAT_SWALLOC       (1ULL << 58)    /* stripe width allocation */
+#define XFS_FEAT_FILESTREAMS   (1ULL << 59)    /* use filestreams allocator */
+#define XFS_FEAT_DAX_ALWAYS    (1ULL << 60)    /* DAX always enabled */
+#define XFS_FEAT_DAX_NEVER     (1ULL << 61)    /* DAX never enabled */
+#define XFS_FEAT_NORECOVERY    (1ULL << 62)    /* no recovery - dirty fs */
+#define XFS_FEAT_NOUUID                (1ULL << 63)    /* ignore uuid during mount */
+
 #define __XFS_HAS_FEAT(name, NAME) \
 static inline bool xfs_has_ ## name (struct xfs_mount *mp) \
 { \
        xfs_sb_version_add ## name(&mp->m_sb); \
 }
 
+/* Superblock features */
 __XFS_ADD_FEAT(attr, ATTR)
 __XFS_HAS_FEAT(nlink, NLINK)
 __XFS_ADD_FEAT(quota, QUOTA)
 __XFS_HAS_FEAT(bigtime, BIGTIME)
 __XFS_HAS_FEAT(needsrepair, NEEDSREPAIR)
 
+/*
+ * Mount features
+ *
+ * These do not change dynamically - features that can come and go,
+ * such as 32 bit inodes and read-only state, are kept as flags rather than
+ * features.
+ */
+__XFS_HAS_FEAT(noattr2, NOATTR2)
+__XFS_HAS_FEAT(noalign, NOALIGN)
+__XFS_HAS_FEAT(allocsize, ALLOCSIZE)
+__XFS_HAS_FEAT(large_iosize, LARGE_IOSIZE)
+__XFS_HAS_FEAT(wsync, WSYNC)
+__XFS_HAS_FEAT(dirsync, DIRSYNC)
+__XFS_HAS_FEAT(discard, DISCARD)
+__XFS_HAS_FEAT(grpid, GRPID)
+__XFS_HAS_FEAT(small_inums, SMALL_INUMS)
+__XFS_HAS_FEAT(ikeep, IKEEP)
+__XFS_HAS_FEAT(swalloc, SWALLOC)
+__XFS_HAS_FEAT(filestreams, FILESTREAMS)
+__XFS_HAS_FEAT(dax_always, DAX_ALWAYS)
+__XFS_HAS_FEAT(dax_never, DAX_NEVER)
+__XFS_HAS_FEAT(norecovery, NORECOVERY)
+__XFS_HAS_FEAT(nouuid, NOUUID)
+
 /*
  * Flags for m_flags.
  */