linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/4] 64 bit inode counter support
@ 2018-02-02  9:41 Artem Blagodarenko
  2018-02-02  9:41 ` [PATCH v4 1/4] ext4: Removes static definition of dx_root struct Artem Blagodarenko
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Artem Blagodarenko @ 2018-02-02  9:41 UTC (permalink / raw)
  To: linux-ext4; +Cc: adilger.kernel

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 4th version of the patch set. Changes since v3:

* ext4_warning_inode() is used to print messages
* DIRENT_INODE_LEN size is 4 bytes
* using structures to access dirdata fields
* some code pieces moved to appropriate patches
* added high part for s_last_orphan, s_first_error_ino, and s_last_error_ino
  fields
* ext4_dirent_inohi changed to ext4_dirent_inode64
* s_inode_goal become 64 bit
* __u64 goal in ext4_ext_migrate()
* added functions set_inode() and get_inode() 
  (in separate patch 3/4)
* 64 bit support in htree_inlinedir_to_tree(), ext4_try_create_inline_dir() and
  ext4_add_dirent_to_inline()
* skip the NUL separator after the name 
* high part of inode number is accessed only if EXT4_DIRENT_INODE64 enabled
* 64bit support for ext4_rename_dir_prepare(), ext4_rename_dir_finish(),
  ext4_rename_delete(), ext4_cross_rename(), ext4_empty_dir(), ext4_rmdir(),
  ext4_rename(), ext4_unlink(), and ext4_setent() 
* heleper functions for access to high part of superblock fields
  based on macroses
* high part of inode number is copied to prevent align problems
* style fixes

Andreas Dilger (1):
  ext4: dirdata feature

Artem Blagodarenko (2):
  ext4: Add helper functions to access inode numbers
  ext4: Add 64-bit inode number support

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

 fs/ext4/dir.c     |  20 ++-
 fs/ext4/ext4.h    | 182 +++++++++++++++++++++----
 fs/ext4/ialloc.c  |  19 ++-
 fs/ext4/inline.c  |  47 ++++---
 fs/ext4/inode.c   |   5 +
 fs/ext4/migrate.c |   2 +-
 fs/ext4/namei.c   | 390 ++++++++++++++++++++++++++++++++++++++----------------
 fs/ext4/resize.c  |   8 +-
 fs/ext4/super.c   |  54 ++++----
 9 files changed, 528 insertions(+), 199 deletions(-)

-- 
2.14.3 (Apple Git-98)

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2018-02-18  2:18 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-02-02  9:41 [PATCH v4 0/4] 64 bit inode counter support Artem Blagodarenko
2018-02-02  9:41 ` [PATCH v4 1/4] ext4: Removes static definition of dx_root struct Artem Blagodarenko
2018-02-02  9:41 ` [PATCH v4 2/4] ext4: dirdata feature Artem Blagodarenko
2018-02-02  9:41 ` [PATCH v4 3/4] ext4: Add helper functions to access inode numbers Artem Blagodarenko
2018-02-02 23:36   ` Andreas Dilger
2018-02-02  9:41 ` [PATCH v4 4/4] ext4: Add 64-bit inode number support Artem Blagodarenko
2018-02-18  2:18   ` Theodore Ts'o

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).