In preparation to add the readmirror devid property, pass inode in the prop_handler::validate() function vector, so that it can fetch corresponding fs_devices.
Signed-off-by: Anand Jain <anand.j...@oracle.com> --- fs/btrfs/props.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/fs/btrfs/props.c b/fs/btrfs/props.c index 99fa2459ba61..1a13f10a6ef5 100644 --- a/fs/btrfs/props.c +++ b/fs/btrfs/props.c @@ -18,7 +18,7 @@ struct prop_handler { struct hlist_node node; const char *xattr_name; - int (*validate)(const char *value, size_t len); + int (*validate)(struct inode *inode, const char *value, size_t len); int (*apply)(struct inode *inode, const char *value, size_t len); const char *(*extract)(struct inode *inode); int inheritable; @@ -89,7 +89,7 @@ int btrfs_set_prop(struct inode *inode, const char *name, const char *value, goto out; } - ret = handler->validate(value, value_len); + ret = handler->validate(inode, value, value_len); if (ret) return ret; @@ -263,7 +263,8 @@ int btrfs_load_inode_props(struct inode *inode, struct btrfs_path *path) return ret; } -static int prop_compression_validate(const char *value, size_t len) +static int prop_compression_validate(struct inode *inode, const char *value, + size_t len) { if (!value) return 0; @@ -361,7 +362,7 @@ static int inherit_props(struct btrfs_trans_handle *trans, continue; /* may be removed */ - ret = h->validate(value, strlen(value)); + ret = h->validate(inode, value, strlen(value)); if (ret) continue; -- 1.8.3.1