Bug 1559884 - Linkto files visible in mount point
Summary: Linkto files visible in mount point
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Gluster Storage
Classification: Red Hat Storage
Component: readdir-ahead
Version: rhgs-3.4
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ---
: RHGS 3.4.0
Assignee: Poornima G
QA Contact: Sweta Anandpara
URL:
Whiteboard:
Depends On:
Blocks: 1503137
TreeView+ depends on / blocked
 
Reported: 2018-03-23 13:45 UTC by Poornima G
Modified: 2023-09-14 04:25 UTC (History)
7 users (show)

Fixed In Version: glusterfs-3.12.2-7
Doc Type: Bug Fix
Doc Text:
When the gluster volume had a certain combination of volume options set, some of the files appeared twice in mountpoint after performing a readdir operation. The following combination of volume options caused the error: performance.stat-prefetch off performance.readdir-ahead on performance.parallel-readdir on With this fix, when readdir is issued on the mountpoint, no double entries are seen for a single file.
Clone Of:
Environment:
Last Closed: 2018-09-04 06:45:40 UTC
Embargoed:


Attachments (Terms of Use)
rhgs34_logs (15.94 KB, text/plain)
2018-05-16 09:09 UTC, Sweta Anandpara
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2018:2607 0 None None None 2018-09-04 06:46:54 UTC

Description Poornima G 2018-03-23 13:45:33 UTC
Description of problem:

On a distribute volume, if the below set of options are enabled:
cluster.rebal-throttle: aggressive
performance.rda-cache-limit: 300Mb
server.allow-insecure: on
performance.readdir-ahead: on
performance.force-readdirp: on
storage.batch-fsync-delay-usec: 0
cluster.min-free-disk: 120GB
nfs.disable: on
performance.stat-prefetch: off
cluster.weighted-rebalance: on
transport.address-family: inet
cluster.lookup-optimize: off
performance.parallel-readdir: on
auto-delete: disable

The linkto files will be visible on the mount point

https://bugzilla.redhat.com/show_bug.cgi?id=1523258#c69

I created a pure distribute volume with 3 bricks, created and renamed files so there would be linkto files created:


[root@rhgs313-6 ~]# mount -t glusterfs -s 192.168.122.6:/rebal1 /mnt/fuse1
[root@rhgs313-6 ~]# cd /mnt/fuse1

[root@rhgs313-6 fuse1]# l /bricks/brick1/rebal1-*
/bricks/brick1/rebal1-1:
total 4.0K
-rw-r--r--. 2 root root 5 Mar 22 23:20 FILE-2

/bricks/brick1/rebal1-2:
total 4.0K
-rw-r--r--. 2 root root 5 Mar 22 23:20 AJKAJDNAL
---------T. 2 root root 0 Mar 22 23:20 FILE-2

/bricks/brick1/rebal1-3:
total 0
---------T. 2 root root 0 Mar 22 23:21 AJKAJDNAL
[root@rhgs313-6 fuse1]# 
[root@rhgs313-6 fuse1]# 
[root@rhgs313-6 fuse1]# 
[root@rhgs313-6 fuse1]# 
[root@rhgs313-6 fuse1]# 
[root@rhgs313-6 fuse1]# l /bricks/brick1/rebal1-*
/bricks/brick1/rebal1-1:
total 4.0K
-rw-r--r--. 2 root root 5 Mar 22 23:20 FILE-2

/bricks/brick1/rebal1-2:
total 4.0K
-rw-r--r--. 2 root root 5 Mar 22 23:20 AJKAJDNAL
---------T. 2 root root 0 Mar 22 23:20 FILE-2

/bricks/brick1/rebal1-3:
total 0
---------T. 2 root root 0 Mar 22 23:21 AJKAJDNAL
[root@rhgs313-6 fuse1]# 
[root@rhgs313-6 fuse1]# 

With the default options, linkto files are not visible on the mount point:

[root@rhgs313-6 fuse1]# 
[root@rhgs313-6 fuse1]# l
total 1.0K
-rw-r--r--. 1 root root 5 Mar 22 23:20 AJKAJDNAL
-rw-r--r--. 1 root root 5 Mar 22 23:20 FILE-2
[root@rhgs313-6 fuse1]# 
[root@rhgs313-6 fuse1]# 


Set the options enabled on mediaset:

[root@rhgs313-6 fuse1]# gluster v set  rebal1 performance.readdir-ahead on
volume set: success
[root@rhgs313-6 fuse1]# gluster v set  rebal1 performance.rda-cache-limit 300Mb
volume set: success
[root@rhgs313-6 fuse1]# gluster v set  rebal1 performance.force-readdirp on
volume set: success
[root@rhgs313-6 fuse1]# gluster v set  rebal1 performance.stat-prefetch off
volume set: success
[root@rhgs313-6 fuse1]# gluster v set  rebal1 performance.parallel-readdir on
volume set: success
[root@rhgs313-6 fuse1]# 

[root@rhgs313-6 fuse1]# l
total 1.0K
-rw-r--r--. 1 root root 5 Mar 22 23:20 AJKAJDNAL
---------T. 1 root root 0 Mar 22 23:21 AJKAJDNAL
-rw-r--r--. 1 root root 5 Mar 22 23:20 FILE-2
---------T. 1 root root 0 Mar 22 23:20 FILE-2


[root@rhgs313-6 fuse1]#  gluster v set  rebal1 performance.parallel-readdir  off
volume set: success
[root@rhgs313-6 fuse1]# l
total 1.0K
-rw-r--r--. 1 root root 5 Mar 22 23:20 AJKAJDNAL
-rw-r--r--. 1 root root 5 Mar 22 23:20 FILE-2
[root@rhgs313-6 fuse1]#

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 2 Poornima G 2018-03-23 13:47:58 UTC
Patch merged upstream :  https://review.gluster.org/#/c/19172/

Comment 7 Sweta Anandpara 2018-05-16 09:09:34 UTC
Created attachment 1437202 [details]
rhgs34_logs

Comment 8 Sweta Anandpara 2018-05-16 09:10:23 UTC
Reproduced this on a RHGS 3.3.1 setup:

- where the said options were enabled on a plain distribute volume -> files' create-rename done to have T-files present from a fuse mount -> (Mountpoint displayed T-files) -> parallel-readdir disabled -> (Mountpoint did not display T-files) -> parallel-readdir enabled and stat-prefetch enabled -> (Mountpoint did not display T-files)

Tried the exact same steps on the build glusterfs-3.12.2-10.el7rhgs.x86_64.

- where mountpoint never displayed T-files in any of the steps.. irrespective of parallel-readdir enabled/disabled, or stat-prefetch enabled/disabled. 

In other words, no dependency seen between paralled-readdir and stat-prefetch to be enabled together. 

Moving this bug to verified. PFA detailed logs.

Comment 11 errata-xmlrpc 2018-09-04 06:45:40 UTC
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.

https://access.redhat.com/errata/RHSA-2018:2607

Comment 12 Red Hat Bugzilla 2023-09-14 04:25:54 UTC
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 1000 days


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