summaryrefslogtreecommitdiffstats
path: root/xlators/nfs/server/src
diff options
context:
space:
mode:
authorGaurav <gaurav@gluster.com>2011-03-03 02:04:51 +0000
committerAnand V. Avati <avati@dev.gluster.com>2011-03-02 23:58:16 -0800
commit826bf14de9eafe1cb67c45f25a9cfb236649801a (patch)
tree197d12d973e6b5c9777574cdc1d8d0d981830f63 /xlators/nfs/server/src
parent77d82df9d5e0047b0f1779130c4031cf3ce8ae1b (diff)
NFS : Check for duplicate entries while filling up child_up array.
Signed-off-by: Gaurav <gaurav@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 2483 (Showmount output is not consistent with exported volumes.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2483
Diffstat (limited to 'xlators/nfs/server/src')
-rw-r--r--xlators/nfs/server/src/nfs.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/xlators/nfs/server/src/nfs.c b/xlators/nfs/server/src/nfs.c
index ad66410ed..8df7c1332 100644
--- a/xlators/nfs/server/src/nfs.c
+++ b/xlators/nfs/server/src/nfs.c
@@ -205,6 +205,13 @@ nfs_subvolume_set_started (struct nfs_state *nfs, xlator_t *xl)
LOCK (&nfs->svinitlock);
{
for (;x < nfs->allsubvols; ++x) {
+ if (nfs->initedxl[x] == xl) {
+ gf_log (GF_NFS, GF_LOG_DEBUG,
+ "Volume already started %s",
+ xl->name);
+ break;
+ }
+
if (nfs->initedxl[x] == NULL) {
nfs->initedxl[x] = xl;
++nfs->upsubvols;