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
Kirill Smelkov
linux
Commits
8b4953e1
Commit
8b4953e1
authored
Oct 17, 2015
by
Theodore Ts'o
1
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 */
...
...
Kirill Smelkov
@kirr
mentioned in commit
144593c3
·
Jun 08, 2016
mentioned in commit
144593c3
mentioned in commit 144593c372d1ce9d6e140f1df99ef1a24478d550
Toggle commit list
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