Bug #38744
closedrgw: nfs: process asserts on empty path name segment (e.g., s3://myfiles//data/file.pdf)
0%
Description
From Asish Singh:
- Description of problem:
Whenever the psuedo path contains an empty directory "//" (Example : s3://myfiles/new_data//new.pdf), accessing the files results in nfs-ganesha service aborting with SIGNAL 6.
In s3 namespace "//" is empty directory whereas in FS namespace "//" would be treated as "/" and not as an empty dir.
In 'audit.log' :
------
type=ANOM_ABEND msg=audit(1552413839.195:40148): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=system_u:system_r:ganesha_t:s0 pid=7325 comm="ganesha.nfsd" reason="memory violation" sig=6
------
In 'messages' :
------
Mar 12 23:42:30 ceph-a1 abrt-hook-ccpp: Process 8654 (ganesha.nfsd) of user 0 killed by SIGABRT - dumping core
Mar 12 23:42:35 ceph-a1 abrt-hook-ccpp: Failed to create core_backtrace: waitpid failed: No child processes
Mar 12 23:42:35 ceph-a1 systemd: nfs-ganesha.service: main process exited, code=killed, status=6/ABRT
Mar 12 23:42:35 ceph-a1 systemd: Unit nfs-ganesha.service entered failed state.
Mar 12 23:42:35 ceph-a1 systemd: nfs-ganesha.service failed.
------
- Version-Release number of selected component (if applicable):
RHCS 3.2z1
nfs-ganesha.x86_64-2.7.1-3.el7cp
nfs-ganesha-rgw.x86_64-2.7.1-3.el7cp
- How reproducible:
Always
- Steps to Reproduce:
1. Create an s3 directory without any name and upload a file it it : # s3cmd put /bin/ceph s3://myfiles/new_data//new.pdf
2. Configure nfs-ganesha and mount the user to access bucket 'myfiles'. # mount -t nfs -o nfsvers=4.1,noauto,soft,sync,proto=tcp <IP>:/ /mnt
3. Try accessing the file under the directory without the name : # ls -l /mnt/myfiles/new_data//new.pdf
- Actual results:
nfs-ganesha aborts with signal 6.
- Expected results:
nfs-ganesha can error out and should handle it gracefully.
- Additional info:
The name convention in s3 namespace is not correct and while using nfs-ganesha, we should make sure that Customer's do not have such directories without any name.
The data isn't correct. However, nfs-ganesha shouldn't abort but should error out handle gracefully.
Updated by Matt Benjamin about 5 years ago
- Status changed from New to In Progress
Updated by Matt Benjamin about 5 years ago
- Status changed from In Progress to Fix Under Review
Updated by Casey Bodley about 5 years ago
- Status changed from Fix Under Review to Pending Backport
- Backport set to luminous mimic nautilus
Updated by Nathan Cutler about 5 years ago
- Copied to Backport #38771: luminous: rgw: nfs: process asserts on empty path name segment (e.g., s3://myfiles//data/file.pdf) added
Updated by Nathan Cutler about 5 years ago
- Copied to Backport #38772: mimic: rgw: nfs: process asserts on empty path name segment (e.g., s3://myfiles//data/file.pdf) added
Updated by Nathan Cutler about 5 years ago
- Copied to Backport #38773: nautilus: rgw: nfs: process asserts on empty path name segment (e.g., s3://myfiles//data/file.pdf) added
Updated by Nathan Cutler about 5 years ago
- Status changed from Pending Backport to Resolved