Bug 764215 - (GLUSTER-2483) Showmount output is not consistent with exported volumes.
Showmount output is not consistent with exported volumes.
Status: CLOSED CURRENTRELEASE
Product: GlusterFS
Classification: Community
Component: nfs (Show other bugs)
3.1.2
x86_64 Linux
medium Severity medium
: ---
: ---
Assigned To: Gaurav
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2011-03-03 01:58 EST by Gaurav
Modified: 2015-12-01 11:45 EST (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed:
Type: ---
Regression: RTP
Mount Type: nfs
Documentation: DNR
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Anand Avati 2011-03-02 23:58:21 EST
PATCH: http://patches.gluster.com/patch/6322 in master (NFS : Check for duplicate entries while filling up child_up array.)
Comment 1 Shehjar Tikoo 2011-03-03 01:44:33 EST
Assigning to Gaurav.

Gaurav, you can set this to resolved because the patch is now committed. Thanks.
Comment 2 Gaurav 2011-03-03 01:58:13 EST
Output of showmount -e is not consistent with the actual exportlist of NFS.

gaurav@gaurav-Vostro-3400:~$ sudo gluster volume info

Volume Name: new_vol1
Type: Distribute
Status: Started
Number of Bricks: 2
Transport-type: tcp
Bricks:
Brick1: gaurav-Vostro-3400:/home/gaurav/v19
Brick2: gaurav-Vostro-3400:/home/gaurav/v20
Options Reconfigured:
nfs.enable-ino32: yes

Volume Name: new_vol
Type: Distributed-Replicate
Status: Started
Number of Bricks: 2 x 4 = 8
Transport-type: tcp
Bricks:
Brick1: gaurav-Vostro-3400:/home/gaurav/v11
Brick2: gaurav-Vostro-3400:/home/gaurav/v12
Brick3: gaurav-Vostro-3400:/home/gaurav/v13
Brick4: gaurav-Vostro-3400:/home/gaurav/v14
Brick5: gaurav-Vostro-3400:/home/gaurav/v15
Brick6: gaurav-Vostro-3400:/home/gaurav/v16
Brick7: gaurav-Vostro-3400:/home/gaurav/v17
Brick8: gaurav-Vostro-3400:/home/gaurav/v18
Options Reconfigured:
performance.stat-prefetch: yes
diagnostics.client-log-level: TRACE
diagnostics.brick-log-level: TRACE
nfs.enable-ino32: yes

gaurav@gaurav-Vostro-3400:~$ sudo showmount -e
Export list for gaurav-Vostro-3400:
/new_vol1 *


It happens when exportlist contains more than one entries.

Its a timing issue so doen't happen consistently.

The problem is with handling child_up event in NFS, there we maintain a array of started volumes for NFS, we fill that array in child_up event for each volume, but in case of parallel child_up events for same volume, this array could contain inconsistent data as checking and inserting operations are not atomic and we are also not checking for duplicate entries while inserting.
Comment 3 Saurabh 2011-03-08 04:48:04 EST
I have tried out restarting glusterd several times, and the showmount -e has shown accurate result consistently,


[root@centos-qa-4 sbin]# showmount -e localhost
Export list for localhost:
/srj-dist *
/dist1    *
[root@centos-qa-4 sbin]# /etc/init.d/glusterd restart
Stopping glusterd:                                         [  OK  ]
Starting glusterd:                                         [  OK  ]
[root@centos-qa-4 sbin]# showmount -e localhost
Export list for localhost:
/srj-dist *
/dist1    *
[root@centos-qa-4 sbin]# /etc/init.d/glusterd restart
Stopping glusterd:                                         [  OK  ]
Starting glusterd:                                         [  OK  ]
[root@centos-qa-4 sbin]# showmount -e localhost
Export list for localhost:
/srj-dist *
/dist1    *
[root@centos-qa-4 sbin]#

Note You need to log in before you can comment on or make changes to this bug.