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
10 months
Monitoring in Ganesha?
by Bjorn Leffler
Apart from the counters that you can access through dbus, is there any
other monitoring built into Ganesha?
I'm thinking of adding it with this higher level plan:
- Exporting metrics from Ganesha to Prometheus.
- Aggregate data in Prometheus.
- Display monitoring consoles and graphs with Grafana.
- Package up Prometheus, Grafana and the preconfigured rules/dashboards as
a Docker image.
- This makes it straightforward to deploy monitoring alongside a Gansha
binary.
My rough coding plan for the code is to:
- Add a USE_MONITORING directive to the CMakeLists.txt files.
- Add a build dependency to the Prometheus C client
<https://github.com/digitalocean/prometheus-client-c>.
- Create a src/monitoring directory for the new source files and templates.
- Increment counters and timers throughout the code.
- Use histograms to compute latency percentiles, heatmaps, etc.
Is this a good idea? Any objections or suggestions?
Thanks,
Bjorn
3 years
Change in ...nfs-ganesha[next]: Add byteswap.h includes in FSAL modules.
by Virtually Nick (GerritHub)
Virtually Nick has uploaded this change for review. ( https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/519733 )
Change subject: Add byteswap.h includes in FSAL modules.
......................................................................
Add byteswap.h includes in FSAL modules.
Signed-off-by: Virtually Nick <nick.e.couchman(a)gmail.com>
Change-Id: Iada609204eefa3d4253490998dcf4c6a3c7634ad
---
M src/FSAL/FSAL_MEM/mem_export.c
M src/FSAL/FSAL_PSEUDO/export.c
2 files changed, 2 insertions(+), 0 deletions(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/33/519733/1
--
To view, visit https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/519733
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: Iada609204eefa3d4253490998dcf4c6a3c7634ad
Gerrit-Change-Number: 519733
Gerrit-PatchSet: 1
Gerrit-Owner: Virtually Nick <nick.e.couchman(a)gmail.com>
Gerrit-MessageType: newchange
3 years, 5 months
Announce Push of V4-dev.65
by Frank Filz
Branch next
Tag:V4-dev.65
Merge Highlights
* NFSv3 READ - uio_vio buffer MUST be a multiple of 4 bytes
* CONF_ITEM_16 (which is not used) should use int16_t NOT uint_16t
* CONFIG: Add CONF_ITEM_UI31_ZERO, CONF_ITEM_I64_ZERO, CONF_ITEM_UI64_ZERO
* More changes to compile on MacOS
* EXPORT: Move default value of export level cache expiry to one place.
* Fix nfs3_write in case of len "0" write request
Signed-off-by: Frank S. Filz <ffilzlnx(a)mindspring.com>
Contents:
87ac5c73c Frank S. Filz V4-dev.65
d6777d0e9 Prabhu Murugesan Fix nfs3_write in case of len "0" write request
a011d9ac4 Pradeep EXPORT: Move default value of export level cache expiry to
one place.
72a7d1310 Matthew DeVore Remove FSAL_PANFS module
d294e8d87 Matthew DeVore Turn off VFS, GPFS, LUSTRE, XFS if LOCAL_FS off
f8a8fad62 Matthew DeVore Move fsal_filesystem struct to fsal_localfs.h
7032865dd Matthew DeVore Do not compile commonlib components if not needed
4ea828f84 Matthew DeVore access_check: make credential setting optional
4b9fecf75 Frank S. Filz CONFIG: Add CONF_ITEM_UI31_ZERO, CONF_ITEM_I64_ZERO,
CONF_ITEM_UI64_ZERO
9ed27b216 Frank S. Filz CONF_ITEM_16 (which is not used) should use int16_t
NOT uint_16t
8868bc755 Frank S. Filz NFSv3 READ - uio_vio buffer MUST be a multiple of 4
bytes
3 years, 5 months
Using the new config token to allow options to have a non-zero min but also allow 0
by Frank Filz
There are places where we want values to be within a reasonable min..max
range, but also want to allow 0 to turn off the option. There are new
CONF_ITEM_UI32_ZERO, CONF_ITEM_UI64_ZERO, and CONF_ITEM_I64_ZERO tags that
can be used.
CONF_ITEM_I64_ZERO exists for time_t values that are only positive values.
The patch to allow these:
https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/519460
The impetus for this patch is
https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/518384
Candidates for conversion are:
./support/nfs_read_conf.c:200:
CONF_ITEM_I64("Blocked_Lock_Poller_Interval", 0, 180, 10,
./support/nfs_read_conf.c:248: CONF_ITEM_I64("Manage_Gids_Expiration", 0,
7*24*60*60, 30*60,
./log/log_functions.c:2542: CONF_ITEM_UI32("RPC_Debug_Flags", 0,
UINT32_MAX,
./support/nfs_read_conf.c:166: CONF_ITEM_UI32("DRC_TCP_Recycle_Expire_S",
0, 60*60, 600,
./support/nfs_read_conf.c:182: CONF_ITEM_UI32("RPC_Idle_Timeout_S", 0,
60*60, 300,
./support/nfs_read_conf.c:224: CONF_ITEM_UI32("TCP_KEEPCNT", 0, 255, 0,
./support/nfs_read_conf.c:226: CONF_ITEM_UI32("TCP_KEEPIDLE", 0, 65535, 0,
./support/nfs_read_conf.c:228: CONF_ITEM_UI32("TCP_KEEPINTVL", 0, 65535, 0,
./support/nfs_read_conf.c:252: CONF_ITEM_UI32("heartbeat_freq", 0, 5000,
1000,
./support/nfs_read_conf.c:262: CONF_ITEM_UI32("Max_Uid_To_Group_Reqs", 0,
INT32_MAX, 0,
./support/nfs_read_conf.c:334: CONF_ITEM_UI32("Lease_Lifetime", 0, 120,
LEASE_LIFETIME_DEFAULT,
./support/nfs_read_conf.c:336: CONF_ITEM_UI32("Grace_Period", 0, 180,
GRACE_PERIOD_DEFAULT,
./support/nfs_read_conf.c:350: CONF_ITEM_UI32("Deleg_Recall_Retry_Delay",
0, 10,
./support/nfs_read_conf.c:372: CONF_ITEM_UI32("Max_Client_Ids", 0,
UINT32_MAX, 0,
./FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_read_conf.c:62:
CONF_ITEM_UI32("Dir_Chunk", 0, UINT32_MAX, 128,
./FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_read_conf.c:68:
CONF_ITEM_UI32("Entries_Release_Size", 0, UINT32_MAX, 100,
./FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_read_conf.c:74:
CONF_ITEM_UI32("FD_Limit_Percent", 0, 100, 99,
./FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_read_conf.c:76:
CONF_ITEM_UI32("FD_HWMark_Percent", 0, 100, 90,
./FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_read_conf.c:78:
CONF_ITEM_UI32("FD_LWMark_Percent", 0, 100, 50,
./FSAL/FSAL_PROXY_V4/export.c:48: CONF_ITEM_UI32("Retry_SleepTime",
0, 60, 10,
./FSAL/FSAL_PROXY_V4/export.c:73:
CONF_ITEM_UI32("Credential_LifeTime", 0, 86400*2, 86400,
./FSAL/FSAL_MEM/mem_main.c:84: CONF_ITEM_UI32("Inode_Size", 0,
0x200000, 0,
./FSAL/FSAL_MEM/mem_main.c:86: CONF_ITEM_UI32("Up_Test_Interval", 0,
UINT32_MAX, 0,
./FSAL/FSAL_MEM/mem_main.c:88: CONF_ITEM_UI32("Async_Threads", 0,
100, 0,
./FSAL/FSAL_MEM/mem_export.c:213: CONF_ITEM_UI32("Async_Delay", 0, 1000,
0,
./FSAL/FSAL_MEM/mem_export.c:217: CONF_ITEM_UI32("Async_Stall_Delay", 0,
1000, 0,
Actually another question on these is if 0 is actually meaningful for all of
these.
There certainly are lots of timeouts which perhaps should have a sane
minimum value.
Any thoughts?
Frank
3 years, 6 months
Change in ...nfs-ganesha[next]: Remove FSAL_PANFS module
by Matthew DeVore (GerritHub)
Matthew DeVore has uploaded this change for review. ( https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/519465 )
Change subject: Remove FSAL_PANFS module
......................................................................
Remove FSAL_PANFS module
Prompted by discussion in review of prior change:
https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/519308
Change-Id: I396ce2651cf003a1d4dfb1da0ef8c48313d02c87
Signed-off-by: Matthew DeVore <matvore(a)google.com>
---
M src/CMakeLists.txt
M src/FSAL/CMakeLists.txt
M src/FSAL/FSAL_GLUSTER/CMakeLists.txt
M src/FSAL/FSAL_VFS/CMakeLists.txt
M src/FSAL/FSAL_VFS/os/CMakeLists.txt
M src/FSAL/FSAL_VFS/os/freebsd/handle_syscalls.c
D src/FSAL/FSAL_VFS/panfs/CMakeLists.txt
D src/FSAL/FSAL_VFS/panfs/attrs.c
D src/FSAL/FSAL_VFS/panfs/attrs.h
D src/FSAL/FSAL_VFS/panfs/handle.c
D src/FSAL/FSAL_VFS/panfs/main.c
D src/FSAL/FSAL_VFS/panfs/mds.c
D src/FSAL/FSAL_VFS/panfs/mds.h
D src/FSAL/FSAL_VFS/panfs/panfs.h
D src/FSAL/FSAL_VFS/panfs/panfs_int.h
D src/FSAL/FSAL_VFS/panfs/panfs_pnfs_ioctl.h
D src/FSAL/FSAL_VFS/panfs/panfs_um_pnfs.c
D src/FSAL/FSAL_VFS/panfs/panfs_um_pnfs.h
D src/FSAL/FSAL_VFS/panfs/subfsal_panfs.c
M src/FSAL/FSAL_VFS/xfs/subfsal_xfs.c
M src/include/fsal_pnfs.h
M src/include/os/freebsd/fsal_handle_syscalls.h
M src/nfs-ganesha.spec-in.cmake
23 files changed, 8 insertions(+), 2,492 deletions(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/65/519465/1
--
To view, visit https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/519465
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: I396ce2651cf003a1d4dfb1da0ef8c48313d02c87
Gerrit-Change-Number: 519465
Gerrit-PatchSet: 1
Gerrit-Owner: Matthew DeVore <me(a)matvore.com>
Gerrit-MessageType: newchange
3 years, 6 months
Change in ...nfs-ganesha[next]: CONFIG: Add CONF_ITEM_UI31_ZERO, CONF_ITEM_I64_ZERO, CONF_ITEM_UI64_ZERO
by Frank Filz (GerritHub)
Frank Filz has uploaded this change for review. ( https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/519460 )
Change subject: CONFIG: Add CONF_ITEM_UI31_ZERO, CONF_ITEM_I64_ZERO, CONF_ITEM_UI64_ZERO
......................................................................
CONFIG: Add CONF_ITEM_UI31_ZERO, CONF_ITEM_I64_ZERO, CONF_ITEM_UI64_ZERO
These new config parameter specifiers allow specifying a min/max range
AND allow 0 as a valid value, so the range is (0, min..max).
CONF_ITEM_I64_ZERO is used because parameters that are a time_t are
signed but the range is usually only positive numbers. This now
allows a reasonable minimum to be set while still also allowing 0.
Change-Id: Ib19e0b4eeaabd0db54093f916452c3f0cac031fb
Signed-off-by: Frank S. Filz <ffilzlnx(a)mindspring.com>
---
M src/config_parsing/config_parsing.c
M src/include/config_parsing.h
2 files changed, 71 insertions(+), 3 deletions(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/60/519460/1
--
To view, visit https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/519460
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: Ib19e0b4eeaabd0db54093f916452c3f0cac031fb
Gerrit-Change-Number: 519460
Gerrit-PatchSet: 1
Gerrit-Owner: Frank Filz <ffilzlnx(a)mindspring.com>
Gerrit-MessageType: newchange
3 years, 6 months