Bug 1627098

Summary: RFE: make fuse dumping available as mount option
Product: Red Hat Gluster Storage Reporter: Csaba Henk <csaba>
Component: fuseAssignee: Csaba Henk <csaba>
Status: CLOSED ERRATA QA Contact: Vinayak Papnoi <vpapnoi>
Severity: high Docs Contact:
Priority: unspecified    
Version: rhgs-3.4CC: amukherj, apaladug, nchilaka, rgowdapp, rhs-bugs, sanandpa, sankarshan, sheggodu, storage-qa-internal
Target Milestone: ---Keywords: FutureFeature, Reopened, ZStream
Target Release: RHGS 3.4.z Batch Update 1   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: glusterfs-3.12.2-20 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-10-31 08:46:17 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 1627099    

Description Csaba Henk 2018-09-10 12:38:51 UTC
Creating dumps of fuse traffic between kernel and glusterfs client (fuse userspace server) is a feature that is present for a long while as command line option for glusterfs. However, the official interface to mounting a glusterfs volume is the standard mount(8) command, so in order to officially support this feature it should be made available as a mount option.

Upstream effort has been tracked on the "kitchensink" bug, Bug 1193929.

Comment 2 RHEL Program Management 2018-09-10 13:02:18 UTC
Development Management has reviewed and declined this request.
You may appeal this decision by reopening this request.

Comment 3 Raghavendra G 2018-09-10 14:03:05 UTC
https://review.gluster.org/#/c/glusterfs/+/19955/

Comment 9 Vinayak Papnoi 2018-10-09 09:10:00 UTC
Build version :
glusterfs-3.12.2-20.el7rhgs.x86_64

Mounting the volume with the "-odump-fuse=PATH" mount option is successful. The mount command generates a binary file with "PATH" as the file.

Example:
# mount -t glusterfs -odump-fuse=dumpfile  10.70.43.18:/arbiter /mnt/arbiter

The above command generated a binary file with the name "dumpfile".

Using "parsefuse" to view the fuse-dump in a human readable format it can be seen that the FUSE traffic b/w kernel and glusterfs-client is logged in the fuse-dump.

Example:
2018-10-09T14:19:57.758558652+05:30 "GLUSTER\xf5" RELEASEDIR {Len:64 Opcode:29 Unique:49 Nodeid:1 Uid:0 Gid:0 Pid:0 Padding:0} {Fh:139728640847088 Flags:100352 ReleaseFlags:0 LockOwner:0} 
2018-10-09T14:19:57.758865526+05:30 "GLUSTER\xf5" {Len:16 Error:0 Unique:49} 
2018-10-09T14:20:00.146212114+05:30 "GLUSTER\xf5" GETATTR {Len:56 Opcode:3 Unique:50 Nodeid:1 Uid:0 Gid:0 Pid:1917 Padding:0} {GetattrFlags:0 Dummy:0 Fh:0} 
2018-10-09T14:20:00.147886495+05:30 "GLUSTER\xf5" {Len:120 Error:0 Unique:50} {AttrValid:1 AttrValidNsec:0 Dummy:0 Attr:{Ino:1 Size:4096 Blocks:8 Atime:1538663050 Mtime:1538746311 Ctime:1538746311 Atimensec:950696837 Mtimensec:801434379 Ctimensec:801434379 Mode:16877 Nlink:4 Uid:0 Gid:0 Rdev:0 Blksize:131072 Padding:0}} 
2018-10-09T14:20:00.152767884+05:30 "GLUSTER\xf5" LOOKUP {Len:44 Opcode:1 Unique:51 Nodeid:1 Uid:0 Gid:0 Pid:2855 Padding:0} bar 
2018-10-09T14:20:00.157092492+05:30 "GLUSTER\xf5" {Len:16 Error:-2 Unique:51} "" 
2018-10-09T14:20:00.158152256+05:30 "GLUSTER\xf5" MKDIR {Len:52 Opcode:9 Unique:52 Nodeid:1 Uid:0 Gid:0 Pid:2855 Padding:0} {Mode:511 Umask:18} bar 
2018-10-09T14:20:00.176629535+05:30 "GLUSTER\xf5" {Len:144 Error:0 Unique:52} {Nodeid:139728909595952 Generation:0 EntryValid:1 AttrValid:1 EntryValidNsec:0 AttrValidNsec:0 Attr:{Ino:9747342684045263864 Size:4096 Blocks:8 Atime:1539075013 Mtime:1539075013 Ctime:1539075013 Atimensec:675655290 Mtimensec:675655290 Ctimensec:686655519 Mode:16877 Nlink:2 Uid:0 Gid:0 Rdev:0 Blksize:131072 Padding:0}} 



The glusterfs process spawned by the mount command has the "--dump-fuse" option as seen below:

root     27505     1  0 Oct04 ?        00:00:30 /usr/sbin/glusterfs --dump-fuse=dumpfile --volfile-server=10.70.43.18 --volfile-id=/arbiter /mnt/arbiter


Hence, moving the bug to VERIFIED.

Comment 11 errata-xmlrpc 2018-10-31 08:46:17 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:3432