From be26b0da2f1a7fe336400de6a1c016716983bd38 Mon Sep 17 00:00:00 2001 From: hari gowtham Date: Wed, 11 Apr 2018 17:38:26 +0530 Subject: glusterd: volume inode/fd status broken with brick mux Problem: The values for inode/fd was populated from the ctx received from the server xlator. Without brickmux, every brick from a volume belonged to a single brick from the volume. So searching the server and populating it worked. With brickmux, a number of bricks can be confined to a single process. These bricks can be from different volumes too (if we use the max-bricks-per-process option). If they are from different volumes, using the server xlator to populate causes problem. Fix: Use the brick to validate and populate the inode/fd status. Signed-off-by: hari gowtham Change-Id: I2543fa5397ea095f8338b518460037bba3dfdbfd fixes: bz#1566067 --- xlators/nfs/server/src/nfs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'xlators/nfs/server/src/nfs.c') diff --git a/xlators/nfs/server/src/nfs.c b/xlators/nfs/server/src/nfs.c index 577c67833ce..1ac5a9213ac 100644 --- a/xlators/nfs/server/src/nfs.c +++ b/xlators/nfs/server/src/nfs.c @@ -1635,7 +1635,7 @@ _nfs_export_is_for_vol (char *exname, char *volname) } int -nfs_priv_to_dict (xlator_t *this, dict_t *dict) +nfs_priv_to_dict (xlator_t *this, dict_t *dict, char *brickname) { int ret = -1; struct nfs_state *priv = NULL; -- cgit