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


Groups > linux.kernel > #1672059

[PATCH 13/32] ext4: ext4_xattr_value_same() should return false for external data

From Tahsin Erdogan <tahsin@google.com>
Newsgroups linux.kernel
Subject [PATCH 13/32] ext4: ext4_xattr_value_same() should return false for external data
Date 2017-06-21 23:30 +0200
Message-ID <tUVmk-3od-57@gated-at.bofh.it> (permalink)
References <tUVmh-3od-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


ext4_xattr_value_same() is used as a quick optimization in case the new
xattr value is identical to the previous value. When xattr value is
stored in a xattr inode the check becomes expensive so it is better to
just assume that they are not equal.

Signed-off-by: Tahsin Erdogan <tahsin@google.com>
---
 fs/ext4/xattr.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/fs/ext4/xattr.c b/fs/ext4/xattr.c
index 4dd8be16d175..681a9b5eefd8 100644
--- a/fs/ext4/xattr.c
+++ b/fs/ext4/xattr.c
@@ -1428,6 +1428,9 @@ static int ext4_xattr_value_same(struct ext4_xattr_search *s,
 {
 	void *value;
 
+	/* When e_value_inum is set the value is stored externally. */
+	if (s->here->e_value_inum)
+		return 0;
 	if (le32_to_cpu(s->here->e_value_size) != i->value_len)
 		return 0;
 	value = ((void *)s->base) + le16_to_cpu(s->here->e_value_offs);
-- 
2.13.1.611.g7e3b11ae1-goog

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


Thread

[PATCH 13/32] ext4: ext4_xattr_value_same() should return false for external data Tahsin Erdogan <tahsin@google.com> - 2017-06-21 23:30 +0200
  Re: [PATCH 13/32] ext4: ext4_xattr_value_same() should return false  for external data Theodore Ts'o <tytso@mit.edu> - 2017-06-22 04:10 +0200

csiph-web