Change in ...nfs-ganesha[next]: Simplify fsal_ds_handle
by Frank Filz (GerritHub)
Frank Filz has uploaded this change for review. ( https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/499251 )
Change subject: Simplify fsal_ds_handle
......................................................................
Simplify fsal_ds_handle
This handle just has the lifetime of a single COMPOUND and other than
the remote possibility it could be subject to SAVEFH/RESTOREFH can
be very simply handled so it doesn't need a refcount or to be on a list
of handles for the fsal_pnfs_ds.
Move the dsh_ops into the fsal_pnfs_ds. There really is no need for
handle specific ops. This makes the default struct fsal_ds_handle
empty, however, FSALs will define their own private structure that
extends it.
Change-Id: I0c83f1f8e657cec533da26dd92f624a11e2ca35e
Signed-off-by: Frank S. Filz <ffilzlnx(a)mindspring.com>
---
M src/FSAL/FSAL_CEPH/ds.c
M src/FSAL/FSAL_GLUSTER/ds.c
M src/FSAL/FSAL_GPFS/fsal_ds.c
M src/FSAL/FSAL_LIZARDFS/ds.c
M src/FSAL/commonlib.c
M src/FSAL/default_methods.c
M src/FSAL/fsal_destroyer.c
M src/Protocols/NFS/nfs4_Compound.c
M src/Protocols/NFS/nfs4_op_commit.c
M src/Protocols/NFS/nfs4_op_read.c
M src/Protocols/NFS/nfs4_op_restorefh.c
M src/Protocols/NFS/nfs4_op_savefh.c
M src/Protocols/NFS/nfs4_op_write.c
M src/include/FSAL/fsal_commonlib.h
M src/include/fsal_api.h
M src/include/nfs_proto_data.h
16 files changed, 65 insertions(+), 249 deletions(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/51/499251/1
--
To view, visit https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/499251
To unsubscribe, or for help writing mail filters, visit https://review.gerrithub.io/settings
Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-Change-Id: I0c83f1f8e657cec533da26dd92f624a11e2ca35e
Gerrit-Change-Number: 499251
Gerrit-PatchSet: 1
Gerrit-Owner: Frank Filz <ffilzlnx(a)mindspring.com>
Gerrit-MessageType: newchange
4 years, 5 months
Change in ...nfs-ganesha[next]: fsal_pnfs_ds: rename symbols to make code easier to read
by Frank Filz (GerritHub)
Frank Filz has uploaded this change for review. ( https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/499250 )
Change subject: fsal_pnfs_ds: rename symbols to make code easier to read
......................................................................
fsal_pnfs_ds: rename symbols to make code easier to read
Particularly avoid overloading fsal_pnfs_ds as struct, API method,
and req_op_context structure member.
Change-Id: I04e4e74a47c13b99e9debe2264b4333a11efa662
Signed-off-by: Frank S. Filz <ffilzlnx(a)mindspring.com>
---
M src/FSAL/FSAL_CEPH/ds.c
M src/FSAL/FSAL_GLUSTER/ds.c
M src/FSAL/FSAL_GLUSTER/export.c
M src/FSAL/FSAL_GPFS/export.c
M src/FSAL/FSAL_GPFS/fsal_ds.c
M src/FSAL/FSAL_LIZARDFS/ds.c
M src/FSAL/FSAL_LIZARDFS/main.c
M src/FSAL/commonlib.c
M src/FSAL/default_methods.c
M src/FSAL/fsal_destroyer.c
M src/Protocols/NFS/nfs4_op_commit.c
M src/Protocols/NFS/nfs4_op_putfh.c
M src/Protocols/NFS/nfs4_op_read.c
M src/Protocols/NFS/nfs4_op_write.c
M src/include/fsal_api.h
M src/include/pnfs_utils.h
M src/support/ds.c
17 files changed, 114 insertions(+), 111 deletions(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/50/499250/1
--
To view, visit https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/499250
To unsubscribe, or for help writing mail filters, visit https://review.gerrithub.io/settings
Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-Change-Id: I04e4e74a47c13b99e9debe2264b4333a11efa662
Gerrit-Change-Number: 499250
Gerrit-PatchSet: 1
Gerrit-Owner: Frank Filz <ffilzlnx(a)mindspring.com>
Gerrit-MessageType: newchange
4 years, 5 months
NFSV4 (FSAL_VFS) multi-clients copy large file: Input/output error with version V3-stable
by Leave
Hi,
When I use the nfs-ganesha with V3-stable, I found that if we use multiple clients(like 5 clients on different PC based on Vmware machine) to copy big file(like 1G) at the same time by the NFSv4, the "Input/output error" is occured on the client. We cannot find any log about the error in the log of the server.
But if we copy the file one by one, this error is not seen. we tried many times, include xfs or ext4, the error occured with high probability when: 1.multi-clients copy large files at the same time 2.mount with NFSV4
And if we use NFSv3, this error is not seen.
Could you please give us some clue about this problem?
ps: we used FSAL_VFS.
error(some clients may didnot occured, but some did with high probability):
[root@localhost kpfadmin]# cp 1G t2/ cp: error writing 't2/1G': Input/output error cp: failed to close 't2/1G': Input/output error
OS:
Centos 8.1-1911
Linux localhost.localdomain 4.18.0-147.el8.x86_64 #1 SMP Wed Dec 4 21:51:45 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
client mount like:
10.10.1.184: mount -t nfs4 10.10.1.183:/t3 t4/ 10.10.1.185: mount -t nfs4 10.10.1.183:/t4 t4/ 10.10.1.186: mount -t nfs4 10.10.1.183:/t5 t5/ 10.10.1.187: mount -t nfs4 10.10.1.183:/t5 t5/
server(ganesha.conf):
################################################### # # Ganesha Config Example # # This is a commented example configuration file for Ganesha. It is not # complete, but only has some common configuration options. See the man pages # for complete documentation. # ################################################### ## These are core parameters that affect Ganesha as a whole. #NFS_CORE_PARAM { ## Allow NFSv3 to mount paths with the Pseudo path, the same as NFSv4, ## instead of using the physical paths. #mount_path_pseudo = true; ## Configure the protocols that Ganesha will listen for. This is a hard ## limit, as this list determines which sockets are opened. This list ## can be restricted per export, but cannot be expanded. #Protocols = 3,4,9P; #} ## These are defaults for exports. They can be overridden per-export. #EXPORT_DEFAULTS { ## Access type for clients. Default is None, so some access must be ## given either here or in the export itself. #Access_Type = RW; #} ## Configure settings for the object handle cache #MDCACHE { ## The point at which object cache entries will start being reused. #Entries_HWMark = 100000; #} EXPORT { ## Export Id (mandatory, each EXPORT must have a unique Export_Id) Export_Id = 1001; ## Exported path (mandatory) Path = /home/kpfadmin/t1; ## Pseudo Path (required for NFSv4 or if mount_path_pseudo = true) Pseudo = /t1; ## Restrict the protocols that may use this export. This cannot allow ## access that is denied in NFS_CORE_PARAM. Protocols = 3,4; ## Access type for clients. Default is None, so some access must be ## given. It can be here, in the EXPORT_DEFAULTS, or in a CLIENT block Access_Type = RW; ## Whether to squash various users. Squash = root_squash; ## Allowed security types for this export #Sectype = sys,krb5,krb5i,krb5p; ## Exporting FSAL FSAL { Name = VFS; } } ## Configure an export for some file tree EXPORT { ## Export Id (mandatory, each EXPORT must have a unique Export_Id) Export_Id = 2; ## Exported path (mandatory) Path = /home/kpfadmin/t2; ## Pseudo Path (required for NFSv4 or if mount_path_pseudo = true) Pseudo = /t2; ## Restrict the protocols that may use this export. This cannot allow ## access that is denied in NFS_CORE_PARAM. Protocols = 3,4; ## Access type for clients. Default is None, so some access must be ## given. It can be here, in the EXPORT_DEFAULTS, or in a CLIENT block Access_Type = RW; ## Whether to squash various users. Squash = root_squash; ## Allowed security types for this export #Sectype = sys,krb5,krb5i,krb5p; ## Exporting FSAL FSAL { Name = VFS; } } ## Configure an export for some file tree EXPORT { ## Export Id (mandatory, each EXPORT must have a unique Export_Id) Export_Id = 3; ## Exported path (mandatory) Path = /home/kpfadmin/t3; ## Pseudo Path (required for NFSv4 or if mount_path_pseudo = true) Pseudo = /t3; ## Restrict the protocols that may use this export. This cannot allow ## access that is denied in NFS_CORE_PARAM. Protocols = 3,4; ## Access type for clients. Default is None, so some access must be ## given. It can be here, in the EXPORT_DEFAULTS, or in a CLIENT block Access_Type = RW; ## Whether to squash various users. Squash = root_squash; ## Allowed security types for this export #Sectype = sys,krb5,krb5i,krb5p; ## Exporting FSAL FSAL { Name = VFS; } } ## Configure an export for some file tree EXPORT { ## Export Id (mandatory, each EXPORT must have a unique Export_Id) Export_Id = 4; ## Exported path (mandatory) Path = /home/kpfadmin/t4; ## Pseudo Path (required for NFSv4 or if mount_path_pseudo = true) Pseudo = /t4; ## Restrict the protocols that may use this export. This cannot allow ## access that is denied in NFS_CORE_PARAM. Protocols = 3,4; ## Access type for clients. Default is None, so some access must be ## given. It can be here, in the EXPORT_DEFAULTS, or in a CLIENT block Access_Type = RW; ## Whether to squash various users. Squash = root_squash; ## Allowed security types for this export #Sectype = sys,krb5,krb5i,krb5p; ## Exporting FSAL FSAL { Name = VFS; } } ## Configure an export for some file tree EXPORT { ## Export Id (mandatory, each EXPORT must have a unique Export_Id) Export_Id = 5; ## Exported path (mandatory) Path = /home/kpfadmin/t5; ## Pseudo Path (required for NFSv4 or if mount_path_pseudo = true) Pseudo = /t5; ## Restrict the protocols that may use this export. This cannot allow ## access that is denied in NFS_CORE_PARAM. Protocols = 3,4; ## Access type for clients. Default is None, so some access must be ## given. It can be here, in the EXPORT_DEFAULTS, or in a CLIENT block Access_Type = RW; ## Whether to squash various users. Squash = root_squash; ## Allowed security types for this export #Sectype = sys,krb5,krb5i,krb5p; ## Exporting FSAL FSAL { Name = VFS; } } ## Configure logging. Default is to log to Syslog. Basic logging can also be ## configured from the command line LOG { ## Default log level for all components Default_Log_Level = WARN; ## Configure per-component log levels. #Components { #FSAL = INFO; #NFS4 = EVENT; #} ## Where to log Facility { name = FILE; destination = "/var/log/ganesha.log"; enable = active; } }
4 years, 5 months
Change in ...nfs-ganesha[next]: Fix flood of "fsal_common_is_referral :FSAL :EVENT :Failed to get att...
by Name of user not set (GerritHub)
fathima.verycalm(a)gmail.com has uploaded this change for review. ( https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/499025 )
Change subject: Fix flood of "fsal_common_is_referral :FSAL :EVENT :Failed to get attrs for referral" messages.
......................................................................
Fix flood of "fsal_common_is_referral :FSAL :EVENT :Failed to get attrs for referral" messages.
Some workloads cause us to get referral info on deleted files leading to flood of
"Failed to get attrs for referral" messages.
Drop the message level to debug if this is the case.
Change-Id: I10dc872f8dc4c52fbd994f8885d936f3b089c376
Signed-off-by: Nuzhat Fathima Shaik <nuzhat.fathima.shaik(a)ibm.com>
---
M src/FSAL/commonlib.c
1 file changed, 24 insertions(+), 9 deletions(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/25/499025/1
--
To view, visit https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/499025
To unsubscribe, or for help writing mail filters, visit https://review.gerrithub.io/settings
Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-Change-Id: I10dc872f8dc4c52fbd994f8885d936f3b089c376
Gerrit-Change-Number: 499025
Gerrit-PatchSet: 1
Gerrit-Owner: fathima.verycalm(a)gmail.com
Gerrit-MessageType: newchange
4 years, 5 months