diff options
Diffstat (limited to 'fs/ocfs2/ocfs2_fs.h')
-rw-r--r-- | fs/ocfs2/ocfs2_fs.h | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/fs/ocfs2/ocfs2_fs.h b/fs/ocfs2/ocfs2_fs.h index f0d9eb08547a..82f8a75b207e 100644 --- a/fs/ocfs2/ocfs2_fs.h +++ b/fs/ocfs2/ocfs2_fs.h | |||
@@ -88,7 +88,7 @@ | |||
88 | #define OCFS2_FEATURE_COMPAT_SUPP OCFS2_FEATURE_COMPAT_BACKUP_SB | 88 | #define OCFS2_FEATURE_COMPAT_SUPP OCFS2_FEATURE_COMPAT_BACKUP_SB |
89 | #define OCFS2_FEATURE_INCOMPAT_SUPP (OCFS2_FEATURE_INCOMPAT_LOCAL_MOUNT \ | 89 | #define OCFS2_FEATURE_INCOMPAT_SUPP (OCFS2_FEATURE_INCOMPAT_LOCAL_MOUNT \ |
90 | | OCFS2_FEATURE_INCOMPAT_SPARSE_ALLOC) | 90 | | OCFS2_FEATURE_INCOMPAT_SPARSE_ALLOC) |
91 | #define OCFS2_FEATURE_RO_COMPAT_SUPP 0 | 91 | #define OCFS2_FEATURE_RO_COMPAT_SUPP OCFS2_FEATURE_RO_COMPAT_UNWRITTEN |
92 | 92 | ||
93 | /* | 93 | /* |
94 | * Heartbeat-only devices are missing journals and other files. The | 94 | * Heartbeat-only devices are missing journals and other files. The |
@@ -116,6 +116,11 @@ | |||
116 | */ | 116 | */ |
117 | #define OCFS2_FEATURE_COMPAT_BACKUP_SB 0x0001 | 117 | #define OCFS2_FEATURE_COMPAT_BACKUP_SB 0x0001 |
118 | 118 | ||
119 | /* | ||
120 | * Unwritten extents support. | ||
121 | */ | ||
122 | #define OCFS2_FEATURE_RO_COMPAT_UNWRITTEN 0x0001 | ||
123 | |||
119 | /* The byte offset of the first backup block will be 1G. | 124 | /* The byte offset of the first backup block will be 1G. |
120 | * The following will be 4G, 16G, 64G, 256G and 1T. | 125 | * The following will be 4G, 16G, 64G, 256G and 1T. |
121 | */ | 126 | */ |
@@ -170,6 +175,32 @@ | |||
170 | #define OCFS2_IOC32_SETFLAGS _IOW('f', 2, int) | 175 | #define OCFS2_IOC32_SETFLAGS _IOW('f', 2, int) |
171 | 176 | ||
172 | /* | 177 | /* |
178 | * Space reservation / allocation / free ioctls and argument structure | ||
179 | * are designed to be compatible with XFS. | ||
180 | * | ||
181 | * ALLOCSP* and FREESP* are not and will never be supported, but are | ||
182 | * included here for completeness. | ||
183 | */ | ||
184 | struct ocfs2_space_resv { | ||
185 | __s16 l_type; | ||
186 | __s16 l_whence; | ||
187 | __s64 l_start; | ||
188 | __s64 l_len; /* len == 0 means until end of file */ | ||
189 | __s32 l_sysid; | ||
190 | __u32 l_pid; | ||
191 | __s32 l_pad[4]; /* reserve area */ | ||
192 | }; | ||
193 | |||
194 | #define OCFS2_IOC_ALLOCSP _IOW ('X', 10, struct ocfs2_space_resv) | ||
195 | #define OCFS2_IOC_FREESP _IOW ('X', 11, struct ocfs2_space_resv) | ||
196 | #define OCFS2_IOC_RESVSP _IOW ('X', 40, struct ocfs2_space_resv) | ||
197 | #define OCFS2_IOC_UNRESVSP _IOW ('X', 41, struct ocfs2_space_resv) | ||
198 | #define OCFS2_IOC_ALLOCSP64 _IOW ('X', 36, struct ocfs2_space_resv) | ||
199 | #define OCFS2_IOC_FREESP64 _IOW ('X', 37, struct ocfs2_space_resv) | ||
200 | #define OCFS2_IOC_RESVSP64 _IOW ('X', 42, struct ocfs2_space_resv) | ||
201 | #define OCFS2_IOC_UNRESVSP64 _IOW ('X', 43, struct ocfs2_space_resv) | ||
202 | |||
203 | /* | ||
173 | * Journal Flags (ocfs2_dinode.id1.journal1.i_flags) | 204 | * Journal Flags (ocfs2_dinode.id1.journal1.i_flags) |
174 | */ | 205 | */ |
175 | #define OCFS2_JOURNAL_DIRTY_FL (0x00000001) /* Journal needs recovery */ | 206 | #define OCFS2_JOURNAL_DIRTY_FL (0x00000001) /* Journal needs recovery */ |