Change in ...nfs-ganesha[next]: Allow EXPORT pseudo path to be changed during export update
by Frank Filz (GerritHub)
Frank Filz has uploaded this change for review. ( https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/490334 )
Change subject: Allow EXPORT pseudo path to be changed during export update
......................................................................
Allow EXPORT pseudo path to be changed during export update
This also fully allows adding or removing NFSv4 support from an export
since we can now handle the PseudoFS swizzing that occurs.
Note that an explicit PseudoFS export may be removed or added, though
you can not change it from export_id 0 because we currently don't allow
changing the export_id.
Note that this patch doesn't handle DBUS add or remove export though
that is an option to improve. I may add them to this patch (it wouldn't
be that hard) but I want to get this reviewed as is right now.
There are implications to a client of changing the PseudoFS. I have
tested moving an export in the PseudoFS with a client mounted. The
client will be able to continue accessing the export, though it may
see an ESTALE error if it navigates out of the export. The current
working directory will go bad and the pwd comment will fail indicating
a disconnected mount. I have also seen referencing .. from the root of
the export wrapping around back to the root (I believe this is how
disconnected mounts are set up).
FSAL_PSEUDO lookups and create handles (PUTFH or any use of an NFSv3
handle where the inode isn't cached) which fail during an export update
are instead turned into ERR_FSAL_DELAY which turns into NFS4ERR_DELAY or
NFS3ERR_JUKEBOX to force the client to retry under the completed update.
Change-Id: I507dc17a651936936de82303ff1291677ce136be
Signed-off-by: Frank S. Filz <ffilzlnx(a)mindspring.com>
---
M src/FSAL/FSAL_PSEUDO/handle.c
M src/MainNFSD/libganesha_nfsd.ver
M src/Protocols/NFS/nfs4_pseudo.c
M src/include/export_mgr.h
M src/include/nfs_proto_functions.h
M src/support/export_mgr.c
M src/support/exports.c
7 files changed, 560 insertions(+), 203 deletions(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/34/490334/1
--
To view, visit https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/490334
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: I507dc17a651936936de82303ff1291677ce136be
Gerrit-Change-Number: 490334
Gerrit-PatchSet: 1
Gerrit-Owner: Frank Filz <ffilzlnx(a)mindspring.com>
Gerrit-MessageType: newchange
9 months
Help needed on FD
by Alok Sinha
FD created at below path does not have correct link in /proc/self/fd.
With vfs_readlink_by_handle , I can get a relative path but cannot get the
absolute path of the FD.
I need a suggestion for one of the below to get around a production bug:
- How to get the full path of the FD?
- How to get the parent vfs_fsal_obj_handle?
- Anyway to bypass this flow by changing any config file?
#0 vfs_create_handle (exp_hdl=0x55801aca22c0, hdl_desc=0x7f93889b1600,
handle=0x7f93889b13f8, attrs_out=0x7f93889b1430)
at /home/alok/pub/splfs-cache-2.8.3/src/FSAL/FSAL_VFS/handle.c:2020
#1 0x00007f94a1f0e13b in mdcache_locate_host (fh_desc=0x7f93889b1600,
export=0x55801aca1f20, entry=0x7f93889b1578, attrs_out=0x0)
at
/home/alok/pub/splfs-cache-2.8.3/src/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_helpers.c:1109
#2 0x00007f94a1f02455 in mdcache_create_handle (exp_hdl=0x55801aca1f20,
fh_desc=0x7f93889b1600, handle=0x7f93889b15d8, attrs_out=0x0)
at
/home/alok/pub/splfs-cache-2.8.3/src/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_handle.c:1613
#3 0x00007f94a1ec5ead in nfs4_mds_putfh (data=0x7f93201119e0)
at
/home/alok/pub/splfs-cache-2.8.3/src/Protocols/NFS/nfs4_op_putfh.c:211
#4 0x00007f94a1ec60d3 in nfs4_op_putfh (op=0x7f93201186d0,
data=0x7f93201119e0, resp=0x7f932010ab20)
at
/home/alok/pub/splfs-cache-2.8.3/src/Protocols/NFS/nfs4_op_putfh.c:281
#5 0x00007f94a1ea96ae in process_one_op (data=0x7f93201119e0,
status=0x7f93889b1b48)
at
/home/alok/pub/splfs-cache-2.8.3/src/Protocols/NFS/nfs4_Compound.c:920
#6 0x00007f94a1eaa8c5 in nfs4_Compound (arg=0x7f9320138d78,
req=0x7f93201385a0, res=0x7f9320106840)
at
/home/alok/pub/splfs-cache-2.8.3/src/Protocols/NFS/nfs4_Compound.c:1329
#7 0x00007f94a1de8567 in nfs_rpc_process_request (reqdata=0x7f93201385a0)
---Type <return> to continue, or q <return> to quit---
at
/home/alok/pub/splfs-cache-2.8.3/src/MainNFSD/nfs_worker_thread.c:1484
#8 0x00007f94a1de8854 in nfs_rpc_valid_NFS (req=0x7f93201385a0)
at
/home/alok/pub/splfs-cache-2.8.3/src/MainNFSD/nfs_worker_thread.c:1591
#9 0x00007f94a13b6faf in svc_vc_decode (req=0x7f93201385a0)
at /home/alok/pub/splfs-cache-2.8.3/src/libntirpc/src/svc_vc.c:829
#10 0x00007f94a13b3225 in svc_request (xprt=0x7f9320000ce0,
xdrs=0x7f9320066260)
at /home/alok/pub/splfs-cache-2.8.3/src/libntirpc/src/svc_rqst.c:793
#11 0x00007f94a13b6ec0 in svc_vc_recv (xprt=0x7f9320000ce0)
at /home/alok/pub/splfs-cache-2.8.3/src/libntirpc/src/svc_vc.c:802
#12 0x00007f94a13b31a5 in svc_rqst_xprt_task (wpe=0x7f9320000f00)
at /home/alok/pub/splfs-cache-2.8.3/src/libntirpc/src/svc_rqst.c:774
#13 0x00007f94a13bcab0 in work_pool_thread (arg=0x7f9218003340)
at /home/alok/pub/splfs-cache-2.8.3/src/libntirpc/src/work_pool.c:184
#14 0x00007f94a1badea5 in start_thread () from /lib64/libpthread.so.0
#15 0x00007f94a16ce9fd in clone () from /lib64/libc.so.6
--
Alok Sinha
www.spillbox.io
https://youtu.be/U-YupjLQ9bU
9 months, 3 weeks
[L] Change in ...nfs-ganesha[next]: Malloc trim support
by Name of user not set (GerritHub)
Attention is currently required from: Malahal.
Hello Malahal,
I'd like you to do a code review.
Please visit
https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/547891
to review the following change.
Change subject: Malloc trim support
......................................................................
Malloc trim support
Glibc is known to cause greedy allocations with ganesha daemon, this
feature dynamically calls malloc_trim() to release memory back to the
system based on certain RSS (Resident Set Size) values. This feature
can be enabled by having "enable_trim = 1" in NFS_Core_Param{} block.
Also, it can be enabled/disabled by running:
ganesha_mgr trim enable OR
ganesha_mgr trim disable.
Its status can be queried with: ganesha_mgr trim status
ganesha_mgr trim call makes a one time malloc_trim(0) as well.
Change-Id: Ic947d98cfbe69faf4785d862047738c240b005f9
Signed-off-by: Malahal Naineni <malahal(a)us.ibm.com>
(cherry picked from commit 24c26c728137c73be2e848f24e6f8fb4be42e84d)
---
M src/MainNFSD/nfs_admin_thread.c
M src/MainNFSD/nfs_reaper_thread.c
M src/config_samples/config.txt
M src/doc/man/ganesha-core-config.rst
M src/include/gsh_config.h
M src/scripts/ganeshactl/Ganesha/ganesha_mgr_utils.py
M src/scripts/ganeshactl/ganesha_mgr.py
M src/support/nfs_read_conf.c
8 files changed, 334 insertions(+), 0 deletions(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/91/547891/1
--
To view, visit https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/547891
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: Ic947d98cfbe69faf4785d862047738c240b005f9
Gerrit-Change-Number: 547891
Gerrit-PatchSet: 1
Gerrit-Owner: skmprabhu2(a)gmail.com
Gerrit-Reviewer: Malahal <malahal(a)gmail.com>
Gerrit-Attention: Malahal <malahal(a)gmail.com>
Gerrit-MessageType: newchange
1 year, 10 months
[S] Change in ...nfs-ganesha[next]: Fix race between nfs_rpc_call and nfs_rpc_call_process(callback).
by Sagar Singh (GerritHub)
Sagar Singh has uploaded this change for review. ( https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/547808 )
Change subject: Fix race between nfs_rpc_call and nfs_rpc_call_process(callback).
......................................................................
Fix race between nfs_rpc_call and nfs_rpc_call_process(callback).
If the callback (nfs_rpc_call_process) runs before the call
(nfs_rpc_call) finishes, it can hit use-after-free for the
"rpc_call_t" data structure shared between these. This change
uses a local callback channel pointer, in nfs_rpc_call to
avoid segmentation fault.
Change-Id: Ia95f35d9b3730cf47525ba8bbb3f8030ef0b782a
Signed-off-by: Sagar Singh <sagar.it.iiests(a)gmail.com>
---
M src/MainNFSD/nfs_rpc_callback.c
M src/libntirpc
2 files changed, 31 insertions(+), 8 deletions(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/08/547808/1
--
To view, visit https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/547808
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: Ia95f35d9b3730cf47525ba8bbb3f8030ef0b782a
Gerrit-Change-Number: 547808
Gerrit-PatchSet: 1
Gerrit-Owner: Sagar Singh <sagar.it.iiests(a)gmail.com>
Gerrit-MessageType: newchange
1 year, 10 months
Announce Push of V4.2.2
by Frank Filz
Branch next
Tag:V4.2.2
Merge Highlights
* Fix up export initial config - need to try to pseudo mount all exports
* Added include dir option in configfile
* added -I option in ganesha to accept g_nodeid
* ganesha_mgr: show clients failed with KeyError: '9P'
* Define __NR_name_to_handle_at/__NR_open_by_handle_at for Linux aarch64
Signed-off-by: Frank S. Filz <ffilzlnx(a)mindspring.com>
Contents:
a4ef56d35 Frank S. Filz V4.2.2
cebcf6378 Fangrui Song Define __NR_name_to_handle_at/__NR_open_by_handle_at
for Linux aarch64
9b12f295c Prabhu Murugesan ganesha_mgr: show clients failed with KeyError:
'9P'
1bc72e0e7 Prabhu Murugesan added -I option in ganesha to accept g_nodeid
49dfeb002 Prabhu Murugesan Added include dir option in configfile
49525f066 Frank S. Filz Fix up export initial config - need to try to pseudo
mount all exports
1 year, 11 months
[M] Change in ...nfs-ganesha[next]: Fix up export initial config - need to try to pseudo mount all exports
by Frank Filz (GerritHub)
Frank Filz has uploaded this change for review. ( https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/547469 )
Change subject: Fix up export initial config - need to try to pseudo mount all exports
......................................................................
Fix up export initial config - need to try to pseudo mount all exports
Since we can't be sure of all export options until the point we are
actually building the pseudofs, we just add all exports into the
export mount work. Then pseudo_mount_export will verify using
export_can_be_mounted that looks at the EXPORT options, EXPORT_DEFAULTS
NFS_CORE_PARAM (for Protocols) and finally the code defaults.
Change-Id: Iebb37e09b2b3bbd7422f3df251f5383bd7383219
Signed-off-by: Frank S. Filz <ffilzlnx(a)mindspring.com>
---
M src/Protocols/NFS/nfs4_pseudo.c
M src/include/nfs_exports.h
M src/support/exports.c
3 files changed, 35 insertions(+), 18 deletions(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/69/547469/1
--
To view, visit https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/547469
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: Iebb37e09b2b3bbd7422f3df251f5383bd7383219
Gerrit-Change-Number: 547469
Gerrit-PatchSet: 1
Gerrit-Owner: Frank Filz <ffilzlnx(a)mindspring.com>
Gerrit-MessageType: newchange
1 year, 11 months
[M] Change in ...nfs-ganesha[next]: ganesha_mgr: show clients failed with KeyError: '9P'
by Name of user not set (GerritHub)
skmprabhu2(a)gmail.com has uploaded this change for review. ( https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/547461 )
Change subject: ganesha_mgr: show clients failed with KeyError: '9P'
......................................................................
ganesha_mgr: show clients failed with KeyError: '9P'
Suppose if ganesha not compiled with 9P, then ShowClients
dbus method will not return '9P' data. And, accessing '9P'
key in dict will fail with KeyError error.
Modified code to access dict key using get(). The get()
return default value if the key not exists in dict.
Default value is 0(zero).
Change-Id: I4d93eb3a46db1364717e7a52fa26296392a9e9db
Signed-off-by: Prabhu Murugesan <pmurugesan(a)ddn.com>
---
M src/scripts/ganeshactl/Ganesha/ganesha_mgr_utils.py
1 file changed, 34 insertions(+), 16 deletions(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/61/547461/1
--
To view, visit https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/547461
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: I4d93eb3a46db1364717e7a52fa26296392a9e9db
Gerrit-Change-Number: 547461
Gerrit-PatchSet: 1
Gerrit-Owner: skmprabhu2(a)gmail.com
Gerrit-MessageType: newchange
1 year, 11 months
[M] Change in ...nfs-ganesha[next]: Added include dir option in configfile
by Name of user not set (GerritHub)
skmprabhu2(a)gmail.com has uploaded this change for review. ( https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/547411 )
Change subject: Added include dir option in configfile
......................................................................
Added include dir option in configfile
The ganesha.conf file can include directory
using below syntax
%dir /etc/ganesha/gansha_conf/export_conf
%dir /etc/ganesha/gansha_conf/export_conf/
%dir /etc/ganesha/gansha_conf/export_conf/*
%dir /etc/ganesha/gansha_conf/export_conf/*.conf
%dir "/etc/ganesha/gansha_conf/export_conf"
%dir "/etc/ganesha/gansha_conf/export_conf/"
%dir "/etc/ganesha/gansha_conf/export_conf/*.conf"
%dir "/etc/ganesha/gansha_conf/export_conf/*"
%dir "/etc/ganesha/gansha_conf/export_conf/*"
Change-Id: I6845141cd44c74fd411e41283056ec9de0baf1d8
Signed-off-by: Prabhu Murugesan <pmurugesan(a)ddn.com>
(cherry picked from commit 92e65c4e6246606781b3189d06b29a34dcf3780d)
---
M src/config_parsing/conf_lex.l
M src/config_samples/README
M src/doc/man/ganesha-config.rst
3 files changed, 199 insertions(+), 9 deletions(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/11/547411/1
--
To view, visit https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/547411
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: I6845141cd44c74fd411e41283056ec9de0baf1d8
Gerrit-Change-Number: 547411
Gerrit-PatchSet: 1
Gerrit-Owner: skmprabhu2(a)gmail.com
Gerrit-MessageType: newchange
1 year, 11 months
Announce Push of V4.2.1
by Frank Filz
Branch next
Tag:V4.2.1
Merge Highlights
* Fix EXPORT_DEFAULTS and add some debug
* Replace dec_nlm_state_ref with dec_state_t_ref to allow disable NLM
* Fix readdir memory leak
Signed-off-by: Frank S. Filz <ffilzlnx(a)mindspring.com>
Contents:
3295af481 Frank S. Filz V4.2.1
95ebe946a bjfhdhhaha Fix readdir memory leak
d2c140e4d Frank S. Filz Replace dec_nlm_state_ref with dec_state_t_ref to
allow disable NLM
3a0cd5537 Frank S. Filz Fix setting of EXPORT_DEFAULTS and default options
880fa5e56 Frank S. Filz Add some EXPORT debug
1 year, 11 months