Announce Push of V14.0
by Frank Filz
Branch next
Tag:V14.0
Feature Highlights
* XCOPY
* More gRPC functionality
* Clustered Quality of Service
Merge Highlights
* gpfs: derive NODEID from gpfs-epoch when NODEID_EXEC is unset
* RDMA: Add rpcbind registration
* Add 'all' option to ganesha_stats for client statistics
* Enabling NFS over UDP for mount and rquota only by default in NFS-Ganesha
* SAL: hold NLM owner ref while share is on share lists
* Normalize IPv4 addresses in hash_sockaddr() to match IPv4-mapped IPv6 form
Signed-off-by: Frank S. Filz <ffilzlnx(a)mindspring.com>
Contents:
4001eb75c Frank S. Filz V14.0
a6fe32815 Suhas Athani gRPC: Add gRPC ClientMgr APIs for
Add/Remove/Show/Disconnect clients
470e4c0ab Suhas Athani Normalize IPv4 addresses in hash_sockaddr() to match
IPv4-mapped IPv6 form
756057556 Nishant Puri SAL: hold NLM owner ref while share is on share lists
526574c29 Ananya Gupta Enabling NFS over UDP for mount and rquota only by
default in NFS-Ganesha The default value of Enable_UDP is changed from all
to mount, rquota
8bdb7b553 VidyaThumukunta Grpc: Export Display, Show and ShowIdMapper
management APIs
7cf951750 Naresh Chillarege Cluster QoS module implementation
7871a4657 Prabhu Murugesan Add 'all' option to ganesha_stats for client
statistics
33780b9c4 Prabhu Murugesan RDMA: Add rpcbind registration
c27ef5be8 Prabhu Murugesan gpfs: derive NODEID from gpfs-epoch when
NODEID_EXEC is unset
b9ad4dd29 Deeraj.Patil Xcopy : ShortCopy support for COPY offload operation
3de4417d6 Deeraj.Patil Xcopy : OFFLOAD_CANCEL.
d61df92a9 Deeraj.Patil Xcopy : OFFLOAD_STATUS.
be7b39b0d Deeraj.Patil Xcopy : Async : COPY_OFFLOAD, callback.
c6de8716a Deeraj.Patil Xcopy : nfs4_op_copy enablement and handling.
19a20fe3d Deeraj.Patil Xcopy : Mdcache : register copy_file_range in ops
e82e4003f Deeraj.Patil Xcopy : VFS : copy_file_range hook into handle ops
245f12e50 Deeraj.Patil Xcopy : FSAL : copy_file_range fallback behavior
0d0c62ffb Deeraj.Patil Xcopy : FSAL : add fd-level buffered copy helper.
72fd47719 Deeraj.Patil Xcopy : add COPY netloc and requirements types
1 week, 4 days
[S] Change in ...nfs-ganesha[next]: Normalize IPv4 addresses in hash_sockaddr() to match IPv4-mapped IPv6...
by Suhas Athani (GerritHub)
Suhas Athani has uploaded this change for review. ( https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/1243948?usp=email )
Change subject: Normalize IPv4 addresses in hash_sockaddr() to match IPv4-mapped IPv6 form
......................................................................
Normalize IPv4 addresses in hash_sockaddr() to match IPv4-mapped IPv6 form
`hash_sockaddr()` produces different hashes for the same IPv4 address
depending on whether it's stored as `AF_INET` or IPv4-mapped IPv6
(`::ffff:a.b.c.d`). This breaks consistency in the client_mgr cache:
NFS inserts using the mapped form, but RemoveClient clears using the
plain IPv4 form, leaving a stale pointer after free.
Problem:
- `sockaddr_cmp()` treats both forms as equal (canonicalization on compare)
- `hash_sockaddr()` did not normalize them the same way on little-endian hosts
- RemoveClient cache invalidation misses, leaving freed entry accessible
- Subsequent remount hits stale cache → use-after-free or crash in `sockaddr_cmp()`
Solution:
1. Normalize `AF_INET` to IPv4-mapped IPv6 before hashing in `hash_sockaddr()`
so both forms produce the same hash.
2. Use the stored client address hash in `remove_gsh_client()` for cache
invalidation (defensive; now redundant but future-proof).
Change-Id: Ibf2d8a5fc1a81b3ef48551c895e7af2c4d173897
Signed-off-by: Suhas Athani <Suhas.Athani(a)ibm.com>
---
M src/support/client_mgr.c
M src/support/ip_utils.c
2 files changed, 20 insertions(+), 11 deletions(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/48/1243948/1
--
To view, visit https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/1243948?usp=email
To unsubscribe, or for help writing mail filters, visit https://review.gerrithub.io/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-Change-Id: Ibf2d8a5fc1a81b3ef48551c895e7af2c4d173897
Gerrit-Change-Number: 1243948
Gerrit-PatchSet: 1
Gerrit-Owner: Suhas Athani <Suhas.Athani(a)ibm.com>
1 week, 5 days
[L] Change in ...nfs-ganesha[next]: Grpc: Add export management APIs
by Name of user not set (GerritHub)
Vidya.Thumukunta(a)ibm.com has uploaded this change for review. ( https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/1243875?usp=email )
Change subject: Grpc: Add export management APIs
......................................................................
Grpc: Add export management APIs
Implement gRPC APIs for adding, updating, and removing exports.
The implementation reuses the existing export management
infrastructure and includes the required pseudo filesystem
synchronization after export changes.
Change-Id: I7ec4bc119c5d35e6f130d664bda9a060d259be1b
Signed-off-by: VidyaThumukunta <vidya.thumukunta(a)ibm.com>
---
M src/grpc_server/GrpcServer.cc
M src/grpc_server/GrpcServer.h
M src/grpc_server/nfsService.h
M src/grpc_server/nfsServiceServer.cc
M src/grpc_server/proto/exportService.proto
M src/include/export_mgr.h
M src/support/export_mgr.c
M src/support/exports.c
8 files changed, 401 insertions(+), 12 deletions(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/75/1243875/1
--
To view, visit https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/1243875?usp=email
To unsubscribe, or for help writing mail filters, visit https://review.gerrithub.io/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-Change-Id: I7ec4bc119c5d35e6f130d664bda9a060d259be1b
Gerrit-Change-Number: 1243875
Gerrit-PatchSet: 1
Gerrit-Owner: Vidya.Thumukunta(a)ibm.com
1 week, 6 days
[S] Change in ...nfs-ganesha[next]: CEPH: Support ceph client pool for increased performance
by Sachin Punadikar (GerritHub)
Sachin Punadikar has uploaded this change for review. ( https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/1243865?usp=email )
Change subject: CEPH: Support ceph client pool for increased performance
......................................................................
CEPH: Support ceph client pool for increased performance
Currently Ganesha makes use single ceph client to interact with Ceph
cluster. There is known limitation in libcephfs, which restrict
performance of Ganesha.
To overcome this, one can make use of multiple ceph clients. Attaching
additional ceph clients can lead to more resource utilization. To limit
such resource consumption, one can work with set of ceph clients.
This change supports such ceph client pool, and it helps when you have
more exports to serve.
Change-Id: I0bce5048914b706b07b3e8f92da25864c3be1608
Signed-off-by: Sachin Punadikar <sachin.punadikar(a)ibm.com>
---
M src/FSAL/FSAL_CEPH/internal.c
M src/FSAL/FSAL_CEPH/internal.h
M src/FSAL/FSAL_CEPH/main.c
M src/config_samples/config.txt
M src/doc/man/ganesha-ceph-config.rst
5 files changed, 37 insertions(+), 3 deletions(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/65/1243865/1
--
To view, visit https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/1243865?usp=email
To unsubscribe, or for help writing mail filters, visit https://review.gerrithub.io/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-Change-Id: I0bce5048914b706b07b3e8f92da25864c3be1608
Gerrit-Change-Number: 1243865
Gerrit-PatchSet: 1
Gerrit-Owner: Sachin Punadikar <sachin.punadikar(a)ibm.com>
1 week, 6 days
[S] Change in ...nfs-ganesha[next]: SAL: restore NLM state owner refcount pairing
by Nishant Puri (GerritHub)
Nishant Puri has uploaded this change for review. ( https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/1243841?usp=email )
Change subject: SAL: restore NLM state owner refcount pairing
......................................................................
SAL: restore NLM state owner refcount pairing
commit-id: dc03cb3 removed inc/dec_state_owner_ref on state_t create/destroy.
After NLM4_SHARE, the RPC drops its temporary owner ref while share
state_t and share lists remain, freeing the owner and leaving a
dangling state->state_owner (UAF on FREE_ALL/SM_NOTIFY cleanup).
Restore inc_state_owner_ref() in state_nlm_share() and
dec_state_owner_ref() in remove_nlm_share() so the owner lives for
the lifetime of the state_t.
Change-Id: I8829de9b1140852f207088e20c358a60dad75403
Signed-off-by: Nishant Puri <npuri(a)redhat.com>
---
M src/SAL/state_share.c
1 file changed, 11 insertions(+), 0 deletions(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/41/1243841/1
--
To view, visit https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/1243841?usp=email
To unsubscribe, or for help writing mail filters, visit https://review.gerrithub.io/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-Change-Id: I8829de9b1140852f207088e20c358a60dad75403
Gerrit-Change-Number: 1243841
Gerrit-PatchSet: 1
Gerrit-Owner: Nishant Puri <npuri(a)redhat.com>
1 week, 6 days
[L] Change in ...nfs-ganesha[next]: gRPC: Add gRPC ClientMgr APIs for Add/Remove/Show/Disconnect clients
by Suhas Athani (GerritHub)
Suhas Athani has uploaded this change for review. ( https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/1243560?usp=email )
Change subject: gRPC: Add gRPC ClientMgr APIs for Add/Remove/Show/Disconnect clients
......................................................................
gRPC: Add gRPC ClientMgr APIs for Add/Remove/Show/Disconnect clients
- Add `cltmgrService.ClientMgr` mirroring D-Bus
`org.ganesha.nfsd.clientmgr`:
AddClient
RemoveClient
ShowClients
DisconnectNfsv41Client
- Wire C bridge helpers in `client_mgr.c` /
`server_stats.c` and register `ClientMgrService`
alongside the existing `ClientStats` service.
- Preserve D-Bus semantics: status in the response
body, ShowClients returns a client snapshot with
protocol/state counters, Disconnect tears down
NFSv4.1/4.2 session connections only.
Change-Id: If14cc33a8deab4685aa0f7e60f8f95aabb375d08
Signed-off-by: Suhas Athani <Suhas.Athani(a)ibm.com>
---
M src/grpc_server/GrpcServer.cc
M src/grpc_server/GrpcServer.h
M src/grpc_server/nfsService.h
M src/grpc_server/nfsServiceServer.cc
M src/grpc_server/proto/cltmgrService.proto
M src/grpc_server/proto/nfsProtoUtil.proto
M src/include/server_stats_grpc.h
M src/support/client_mgr.c
M src/support/server_stats.c
9 files changed, 602 insertions(+), 0 deletions(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/60/1243560/1
--
To view, visit https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/1243560?usp=email
To unsubscribe, or for help writing mail filters, visit https://review.gerrithub.io/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-Change-Id: If14cc33a8deab4685aa0f7e60f8f95aabb375d08
Gerrit-Change-Number: 1243560
Gerrit-PatchSet: 1
Gerrit-Owner: Suhas Athani <Suhas.Athani(a)ibm.com>
2 weeks, 1 day
[XL] Change in ...nfs-ganesha[next]: Grpc: Add remaining export statistics APIs
by Name of user not set (GerritHub)
Vidya.Thumukunta(a)ibm.com has uploaded this change for review. ( https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/1243552?usp=email )
Change subject: Grpc: Add remaining export statistics APIs
......................................................................
Grpc: Add remaining export statistics APIs
Implement gRPC equivalent APIs for the remaining export statistics D-Bus methods:
- GetFULLV3Stats
- GetFULLV4Stats
- GetFastOPS
- GetNFSv41Layouts
- GetNFSv42Layouts
- Get9pIO
- Get9pOpStats
- EnableStats
- DisableStats
- ResetStats
- StatusStats
- GetAuthStats
- GetExportDetails
- ShowFDUsage
- ShowMDCache
The implementation preserves D-Bus behavior while introducing common
helper functions to reduce duplicated logic across protocol-specific
statistics handlers.
Change-Id: I428fa1321a33983e11876cc5d5cb9d1522dc12f3
Signed-off-by: VidyaThumukunta <vidya.thumukunta(a)ibm.com>
---
M src/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_main.c
M src/FSAL/commonlib.c
M src/grpc_server/nfsService.h
M src/grpc_server/nfsServiceServer.cc
M src/grpc_server/proto/exportService.proto
M src/grpc_server/proto/nfsProtoUtil.proto
M src/idmapper/idmapper.c
M src/include/server_stats_grpc.h
M src/support/export_mgr.c
M src/support/server_stats.c
10 files changed, 1,910 insertions(+), 7 deletions(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/52/1243552/1
--
To view, visit https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/1243552?usp=email
To unsubscribe, or for help writing mail filters, visit https://review.gerrithub.io/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-Change-Id: I428fa1321a33983e11876cc5d5cb9d1522dc12f3
Gerrit-Change-Number: 1243552
Gerrit-PatchSet: 1
Gerrit-Owner: Vidya.Thumukunta(a)ibm.com
2 weeks, 1 day
[M] Change in ...nfs-ganesha[next]: Allow FSAL module to populate getdeviceinfo notifications
by haihuayang (GerritHub)
haihuayang has uploaded this change for review. ( https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/1243362?usp=email )
Change subject: Allow FSAL module to populate getdeviceinfo notifications
......................................................................
Allow FSAL module to populate getdeviceinfo notifications
Change-Id: Ieeb85eabd35ac63e5d430885136f09f561ac8a51
Signed-off-by: Haihua Yang <yanghh(a)gmail.com>
---
M src/FSAL/FSAL_CEPH/mds.c
M src/FSAL/FSAL_GLUSTER/gluster_internal.h
M src/FSAL/FSAL_GLUSTER/mds.c
M src/FSAL/FSAL_GPFS/fsal_internal.h
M src/FSAL/FSAL_GPFS/fsal_mds.c
M src/FSAL/FSAL_KVSFS/kvsfs_fsal_internal.h
M src/FSAL/FSAL_KVSFS/kvsfs_mds.c
M src/FSAL/FSAL_LIZARDFS/mds_export.c
M src/FSAL/FSAL_SAUNAFS/mds_export.c
M src/FSAL/default_methods.c
M src/Protocols/NFS/nfs4_op_getdeviceinfo.c
M src/include/fsal_api.h
12 files changed, 47 insertions(+), 15 deletions(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/62/1243362/1
--
To view, visit https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/1243362?usp=email
To unsubscribe, or for help writing mail filters, visit https://review.gerrithub.io/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-Change-Id: Ieeb85eabd35ac63e5d430885136f09f561ac8a51
Gerrit-Change-Number: 1243362
Gerrit-PatchSet: 1
Gerrit-Owner: haihuayang <yanghh(a)gmail.com>
2 weeks, 4 days
Announce Push of V13.0
by Frank Filz
Branch next
Tag:V13.0
Feature Highlights
* Expanding gRPC feature with more stats collection
Merge Highlights
* fixing name2id for when we get a numeric gid or uid in fattr4 like in
setattr so that
* Used goption for RDMA compile time flags
Signed-off-by: Frank S. Filz <ffilzlnx(a)mindspring.com>
Contents:
429463bc7 Frank S. Filz V13.0
a2fc63f88 Rajesh Prasad Used goption for RDMA compile time flags
2c9efb167 Suhas Athani gRPC: Add gRPC clientstats APIs for layouts,
delegations, IOops, allops, and 9P
96b0aaed8 VidyaThumukunta gRPC: gRPC export I/O show stats APIs
66d429331 Michael Diederich fixing name2id for when we get a numeric gid or
uid in fattr4 like in setattr so that - switch Allow_Numeric_Owners is
honored by allowing atless2id to run first so we do not allow pam to
interpret the numeric id as name - switch UseGetpwnam is honored before
calling pwentname2id this allows to reject user/group names that do not
carry the full name with at domain and allows to not depend on pam reject to
use a numeric id.
2 weeks, 4 days