mbox series

[v3,0/3] 64 bit inode counter support

Message ID 20171130151753.24986-1-artem.blagodarenko@gmail.com
Headers show
Series 64 bit inode counter support | expand

Message

Artem Blagodarenko Nov. 30, 2017, 3:17 p.m. UTC
With current hardware clusters faced with the trouble of
creating enough inodes on partitions. Lustre has 0-size
files to store some information about files. Current
MDS disk sizes allow to store large amount of such files, but
EXT4 limits this number to ~4 billions.

Lustre FS has features like DNE to distribute metadata over many targets
(disks), but disks are used not effectively. It would be great to have
ability to store more then ~4 billions inodes on one EXT4 file system.

This patches add 1) dirdata feature, that allow to store additional
data in direntry 2)  code that uses dirdata to store high bits of 
64bit inode number.

This is third version of the patch set. Changes since v2:
* added patch "Removes static definition of dx_root struct"
* __le32 used for on-disk data structures
* used __u8 type not char
* macroses __EXT4_DIR_REC_LEN and EXT4_DIR_REC_LEN renamed
* added structures to address dirent fields
* removed BUG_ON() execution
* no need to add s_usr_quota_inum_hi and s_grp_quota_inum_hi
* checksum using high part of inode
* fixed bug in size check code

Andreas Dilger (1):
  ext4: dirdata feature

Artem Blagodarenko (1):
  ext4: Add 64-bit inode number support

Yang Sheng (1):
  ext4: Removes static definition of dx_root struct

 fs/ext4/dir.c    |  21 ++--
 fs/ext4/ext4.h   | 184 +++++++++++++++++++++++++++++++----
 fs/ext4/ialloc.c |  19 ++--
 fs/ext4/inline.c |  18 ++--
 fs/ext4/inode.c  |   5 +
 fs/ext4/namei.c  | 289 ++++++++++++++++++++++++++++++++++++++-----------------
 fs/ext4/resize.c |   8 +-
 fs/ext4/super.c  |  17 +++-
 8 files changed, 423 insertions(+), 138 deletions(-)