Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
8b4953e1
Commit
8b4953e1
authored
Oct 17, 2015
by
Theodore Ts'o
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ext4: reserve code points for the project quota feature
Signed-off-by:
Theodore Ts'o
<
tytso@mit.edu
>
parent
9172796b
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
8 additions
and
1 deletion
+8
-1
fs/ext4/ext4.h
fs/ext4/ext4.h
+7
-1
include/uapi/linux/fs.h
include/uapi/linux/fs.h
+1
-0
No files found.
fs/ext4/ext4.h
View file @
8b4953e1
...
@@ -374,6 +374,7 @@ struct flex_groups {
...
@@ -374,6 +374,7 @@ struct flex_groups {
#define EXT4_EA_INODE_FL 0x00200000
/* Inode used for large EA */
#define EXT4_EA_INODE_FL 0x00200000
/* Inode used for large EA */
#define EXT4_EOFBLOCKS_FL 0x00400000
/* Blocks allocated beyond EOF */
#define EXT4_EOFBLOCKS_FL 0x00400000
/* Blocks allocated beyond EOF */
#define EXT4_INLINE_DATA_FL 0x10000000
/* Inode has inline data. */
#define EXT4_INLINE_DATA_FL 0x10000000
/* Inode has inline data. */
#define EXT4_PROJINHERIT_FL 0x20000000
/* Create with parents projid */
#define EXT4_RESERVED_FL 0x80000000
/* reserved for ext4 lib */
#define EXT4_RESERVED_FL 0x80000000
/* reserved for ext4 lib */
#define EXT4_FL_USER_VISIBLE 0x004BDFFF
/* User visible flags */
#define EXT4_FL_USER_VISIBLE 0x004BDFFF
/* User visible flags */
...
@@ -431,6 +432,7 @@ enum {
...
@@ -431,6 +432,7 @@ enum {
EXT4_INODE_EA_INODE
=
21
,
/* Inode used for large EA */
EXT4_INODE_EA_INODE
=
21
,
/* Inode used for large EA */
EXT4_INODE_EOFBLOCKS
=
22
,
/* Blocks allocated beyond EOF */
EXT4_INODE_EOFBLOCKS
=
22
,
/* Blocks allocated beyond EOF */
EXT4_INODE_INLINE_DATA
=
28
,
/* Data in inode. */
EXT4_INODE_INLINE_DATA
=
28
,
/* Data in inode. */
EXT4_INODE_PROJINHERIT
=
29
,
/* Create with parents projid */
EXT4_INODE_RESERVED
=
31
,
/* reserved for ext4 lib */
EXT4_INODE_RESERVED
=
31
,
/* reserved for ext4 lib */
};
};
...
@@ -475,6 +477,7 @@ static inline void ext4_check_flag_values(void)
...
@@ -475,6 +477,7 @@ static inline void ext4_check_flag_values(void)
CHECK_FLAG_VALUE
(
EA_INODE
);
CHECK_FLAG_VALUE
(
EA_INODE
);
CHECK_FLAG_VALUE
(
EOFBLOCKS
);
CHECK_FLAG_VALUE
(
EOFBLOCKS
);
CHECK_FLAG_VALUE
(
INLINE_DATA
);
CHECK_FLAG_VALUE
(
INLINE_DATA
);
CHECK_FLAG_VALUE
(
PROJINHERIT
);
CHECK_FLAG_VALUE
(
RESERVED
);
CHECK_FLAG_VALUE
(
RESERVED
);
}
}
...
@@ -692,6 +695,7 @@ struct ext4_inode {
...
@@ -692,6 +695,7 @@ struct ext4_inode {
__le32
i_crtime
;
/* File Creation time */
__le32
i_crtime
;
/* File Creation time */
__le32
i_crtime_extra
;
/* extra FileCreationtime (nsec << 2 | epoch) */
__le32
i_crtime_extra
;
/* extra FileCreationtime (nsec << 2 | epoch) */
__le32
i_version_hi
;
/* high 32 bits for 64-bit version */
__le32
i_version_hi
;
/* high 32 bits for 64-bit version */
__le32
i_projid
;
/* Project ID */
};
};
struct
move_extent
{
struct
move_extent
{
...
@@ -1179,7 +1183,8 @@ struct ext4_super_block {
...
@@ -1179,7 +1183,8 @@ struct ext4_super_block {
__u8
s_encrypt_algos
[
4
];
/* Encryption algorithms in use */
__u8
s_encrypt_algos
[
4
];
/* Encryption algorithms in use */
__u8
s_encrypt_pw_salt
[
16
];
/* Salt used for string2key algorithm */
__u8
s_encrypt_pw_salt
[
16
];
/* Salt used for string2key algorithm */
__le32
s_lpf_ino
;
/* Location of the lost+found inode */
__le32
s_lpf_ino
;
/* Location of the lost+found inode */
__le32
s_reserved
[
100
];
/* Padding to the end of the block */
__le32
s_prj_quota_inum
;
/* inode for tracking project quota */
__le32
s_reserved
[
99
];
/* Padding to the end of the block */
__le32
s_checksum
;
/* crc32c(superblock) */
__le32
s_checksum
;
/* crc32c(superblock) */
};
};
...
@@ -1566,6 +1571,7 @@ static inline int ext4_encrypted_inode(struct inode *inode)
...
@@ -1566,6 +1571,7 @@ static inline int ext4_encrypted_inode(struct inode *inode)
*/
*/
#define EXT4_FEATURE_RO_COMPAT_METADATA_CSUM 0x0400
#define EXT4_FEATURE_RO_COMPAT_METADATA_CSUM 0x0400
#define EXT4_FEATURE_RO_COMPAT_READONLY 0x1000
#define EXT4_FEATURE_RO_COMPAT_READONLY 0x1000
#define EXT4_FEATURE_RO_COMPAT_PROJECT 0x2000
#define EXT4_FEATURE_INCOMPAT_COMPRESSION 0x0001
#define EXT4_FEATURE_INCOMPAT_COMPRESSION 0x0001
#define EXT4_FEATURE_INCOMPAT_FILETYPE 0x0002
#define EXT4_FEATURE_INCOMPAT_FILETYPE 0x0002
...
...
include/uapi/linux/fs.h
View file @
8b4953e1
...
@@ -197,6 +197,7 @@ struct inodes_stat_t {
...
@@ -197,6 +197,7 @@ struct inodes_stat_t {
#define FS_EXTENT_FL 0x00080000
/* Extents */
#define FS_EXTENT_FL 0x00080000
/* Extents */
#define FS_DIRECTIO_FL 0x00100000
/* Use direct i/o */
#define FS_DIRECTIO_FL 0x00100000
/* Use direct i/o */
#define FS_NOCOW_FL 0x00800000
/* Do not cow file */
#define FS_NOCOW_FL 0x00800000
/* Do not cow file */
#define FS_PROJINHERIT_FL 0x20000000
/* Create with parents projid */
#define FS_RESERVED_FL 0x80000000
/* reserved for ext2 lib */
#define FS_RESERVED_FL 0x80000000
/* reserved for ext2 lib */
#define FS_FL_USER_VISIBLE 0x0003DFFF
/* User visible flags */
#define FS_FL_USER_VISIBLE 0x0003DFFF
/* User visible flags */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment