Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1672769

Re: [PATCH 27/32] ext4: xattr inode deduplication

From Theodore Ts'o <tytso@mit.edu>
Newsgroups linux.kernel
Subject Re: [PATCH 27/32] ext4: xattr inode deduplication
Date 2017-06-22 18:00 +0200
Message-ID <tVcGt-6LO-7@gated-at.bofh.it> (permalink)
References <tUZzz-6c3-5@gated-at.bofh.it> <tUZzA-6c3-21@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Wed, Jun 21, 2017 at 06:49:34PM -0700, Tahsin Erdogan wrote:
> Ext4 now supports xattr values that are up to 64k in size (vfs limit).
> Large xattr values are stored in external inodes each one holding a
> single value. Once written the data blocks of these inodes are immutable.
> 
> The real world use cases are expected to have a lot of value duplication
> such as inherited acls etc. To reduce data duplication on disk, this patch
> implements a deduplicator that allows sharing of xattr inodes.
> 
> The deduplication is based on an in-memory hash lookup that is a best
> effort sharing scheme. When a xattr inode is read from disk (i.e.
> getxattr() call), its crc32c hash is added to a hash table. Before
> creating a new xattr inode for a value being set, the hash table is
> checked to see if an existing inode holds an identical value. If such an
> inode is found, the ref count on that inode is incremented. On value
> removal the ref count is decremented and if it reaches zero the inode is
> deleted.
> 
> The quota charging for such inodes is manually managed. Every reference
> holder is charged the full size as if there was no sharing happening.
> This is consistent with how xattr blocks are also charged.
> 
> Signed-off-by: Tahsin Erdogan <tahsin@google.com>

Applied, thanks

				- Ted

Back to linux.kernel | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

[PATCH 24/32] ext2, ext4: make mb block cache names more explicit Tahsin Erdogan <tahsin@google.com> - 2017-06-22 04:00 +0200
  [PATCH 26/32] ext4: cleanup transaction restarts during inode deletion Tahsin Erdogan <tahsin@google.com> - 2017-06-22 04:00 +0200
    Re: [PATCH 26/32] ext4: cleanup transaction restarts during inode  deletion Theodore Ts'o <tytso@mit.edu> - 2017-06-22 17:50 +0200
  [PATCH 25/32] ext4: add ext4_is_quota_file() Tahsin Erdogan <tahsin@google.com> - 2017-06-22 04:00 +0200
    Re: [PATCH 25/32] ext4: add ext4_is_quota_file() Theodore Ts'o <tytso@mit.edu> - 2017-06-22 17:40 +0200
  [PATCH 32/32] ext4: add nombcache mount option Tahsin Erdogan <tahsin@google.com> - 2017-06-22 04:00 +0200
    Re: [PATCH 32/32] ext4: add nombcache mount option Theodore Ts'o <tytso@mit.edu> - 2017-06-22 18:10 +0200
  [PATCH 30/32] ext4: eliminate xattr entry e_hash recalculation for removes Tahsin Erdogan <tahsin@google.com> - 2017-06-22 04:00 +0200
    Re: [PATCH 30/32] ext4: eliminate xattr entry e_hash recalculation  for removes Theodore Ts'o <tytso@mit.edu> - 2017-06-22 18:00 +0200
  [PATCH 31/32] ext4: strong binding of xattr inode references Tahsin Erdogan <tahsin@google.com> - 2017-06-22 04:00 +0200
    Re: [PATCH 31/32] ext4: strong binding of xattr inode references Theodore Ts'o <tytso@mit.edu> - 2017-06-22 18:00 +0200
  Re: [PATCH 24/32] ext2, ext4: make mb block cache names more explicit Theodore Ts'o <tytso@mit.edu> - 2017-06-22 17:40 +0200
  Re: [PATCH 27/32] ext4: xattr inode deduplication Theodore Ts'o <tytso@mit.edu> - 2017-06-22 18:00 +0200

csiph-web