Commit 548e7f51 authored by Kent Overstreet's avatar Kent Overstreet

bcachefs: setting bcachefs_effective.* xattrs is a noop

bcachefs_effective.* xattrs show the options inherited from parent
directories (as well as explicitly set); this namespace is not for
setting bcachefs options.

Change the .set() handler to a noop so that if e.g. rsync is copying
xattrs it'll do the right thing, and only copy xattrs in the bcachefs.*
namespace. We don't want to return an error, because that will cause
rsync to bail out or get spammy.
Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
parent 8cc0e506
...@@ -612,10 +612,20 @@ static int bch2_xattr_bcachefs_get_effective( ...@@ -612,10 +612,20 @@ static int bch2_xattr_bcachefs_get_effective(
name, buffer, size, true); name, buffer, size, true);
} }
/* Noop - xattrs in the bcachefs_effective namespace are inherited */
static int bch2_xattr_bcachefs_set_effective(const struct xattr_handler *handler,
struct mnt_idmap *idmap,
struct dentry *dentry, struct inode *vinode,
const char *name, const void *value,
size_t size, int flags)
{
return 0;
}
static const struct xattr_handler bch_xattr_bcachefs_effective_handler = { static const struct xattr_handler bch_xattr_bcachefs_effective_handler = {
.prefix = "bcachefs_effective.", .prefix = "bcachefs_effective.",
.get = bch2_xattr_bcachefs_get_effective, .get = bch2_xattr_bcachefs_get_effective,
.set = bch2_xattr_bcachefs_set, .set = bch2_xattr_bcachefs_set_effective,
}; };
#endif /* NO_BCACHEFS_FS */ #endif /* NO_BCACHEFS_FS */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment