Description of problem: for a volume that is already mounted using nfs. if a deem-statfs option is set to on "df -h" does not display, whereas the mount is still there. Version-Release number of selected component (if applicable): glusterfs-3.4.0.32rhs-1.el6rhs.x86_64 How reproducible: always Steps to Reproduce: 1. mount a volume over nfs, 2. enable quota 3. set deem-statfs on 4. df -h on client Actual results: df does not display the mount, whereas the mount is still there, as can be seen from here, [root@rhsauto036 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_rhsauto036-lv_root 50G 2.1G 45G 5% / tmpfs 939M 0 939M 0% /dev/shm /dev/sda1 485M 37M 423M 8% /boot /dev/mapper/vg_rhsauto036-lv_home 213G 188M 202G 1% /home rhsqe-repo.lab.eng.blr.redhat.com:opt 1.9T 94G 1.7T 6% /opt [root@rhsauto036 ~]# [root@rhsauto036 ~]# [root@rhsauto036 ~]# [root@rhsauto036 ~]# mount | grep newvol nfs1:newvol on /mnt/nfs-test-newvol type nfs (rw,addr=10.70.37.213) [root@rhsauto036 ~]# ls /mnt/nfs-test-newvol/ a d1 saurabh-dir1 Expected results: df should display information about the existing mountpoint even after setting the deem-statfs option Additional info:
The bug is observed only when the usage is zero. ie, after any write in the mountpoint, df shows the correct output. # gluster volume info t Volume Name: t Type: Distribute Volume ID: 748ac711-880f-4481-9f52-80a3fd80d657 Status: Started Number of Bricks: 2 Transport-type: tcp Bricks: Brick1: vpshastry:/export1/b1 Brick2: vpshastry:/export2/b1 Options Reconfigured: features.quota-deem-statfs: on features.quota: on # df -h Filesystem Size Used Avail Use% Mounted on <no output of the mountpoints shown> # mount localhost:t on /mnt/tmp/tnfs type nfs (rw,vers=3,addr=127.0.1.1) localhost:t on /mnt/tmp/tfuse type fuse.glusterfs (rw,default_permissions,allow_other,max_read=131072) # gluster volume quota t list Path Hard-limit Soft-limit Used Available -------------------------------------------------------------------------------- / 200.0MB 80% 0Bytes 200.0MB # dd if=/dev/urandom of=/mnt/tmp/tfuse/a bs=1M count=5 5+0 records in 5+0 records out 5242880 bytes (5.2 MB) copied, 0.366647 s, 14.3 MB/s # df -h Filesystem Size Used Avail Use% Mounted on localhost:t 200M 5.0M 195M 3% /mnt/tmp/tnfs localhost:t 200M 5.0M 195M 3% /mnt/tmp/tfuse
We copy the maximum usage of the sub-childlren of the dht if deem-statfs option is on, because each subvol gives the complete information. Cause: When the usage is zero, the check for maximum of usages leaves the statvfs structure behind, not progressing upwards in UNWIND. The patch https://code.engineering.redhat.com/gerrit/12660 fixes the issue.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHBA-2013-1769.html