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
Next week - meeting on Tuesday, no merge
by Frank Filz
I will be away from home most of next week.
We will have the Tuesday meeting and then I am done for the week so I will
not be doing a merge.
Thanks
Frank
3 years, 5 months
Announce Push of V4-dev.69
by Frank Filz
Branch next
Tag:V4-dev.69
Merge Highlights
* RADOS_KV: make rados_kv and rados_ng respect nodeid setting
Signed-off-by: Frank S. Filz <ffilzlnx(a)mindspring.com>
Contents:
6755b3fb2 Frank S. Filz V4-dev.69
a126b8076 Jeff Layton RADOS_KV: make rados_kv and rados_ng respect nodeid
setting
3 years, 5 months
Re: [NFS-Ganesha-Support] HA failover in less than five minutes?
by Jeff Layton
On Mon, 2021-07-19 at 10:37 -0400, Lars Kellogg-Stedman wrote:
> On Mon, Jul 19, 2021 at 09:37:43AM -0400, Jeff Layton wrote:
> > With the rados_cluster backend, you can also configure a nodeid to use.
> > If you set up a trivial rados_cluster with one (active/passive) host, I
> > expect it'll work more like you want. So, I'd set this in the NFSv4
> > block:
>
> Using `rados_cluster` and sharing a `nodeid`...
>
> NFSv4
> {
> RecoveryBackend = rados_cluster;
> Minor_Versions = 1,2;
> Grace_Period = 60;
> }
>
> [...]
>
> RADOS_KV
> {
> UserId = "nfsmeta";
> pool = "cephfs.tank.meta";
> namespace = "ganesha";
> nodeid = "nfs.storage";
> }
>
> ...seems to have resolved the problem; failover times now seem to
> track the `Grace_Period` setting.
>
Excellent! Thanks for confirming it.
> > Longer term, maybe we should allow rados_ng and rados_kv to set a static
> > nodeid too? That would also probably fix this for people who just want a
> > simple active/passive cluster. Basically we'd just need to add a
> > get_nodeid operation for them.
>
> Was I misusing `rados_ng`? All the docs I found said "use rados_ng for
> active/passive configurations".
>
Nope, that was an oversight on my part in implementing the RADOS_KV
"nodeid" setting. At the time I added it, I was focused on rados_cluster
and just didn't consider that rados_ng in an active/passive cluster
would also need a similar setting.
I think what we need to do is make rados_ng (and maybe rados_kv) also
respect the nodeid setting. The bottom line is that when you take over
serving an nfs over cephfs "service" from another entity, you need to
use the same nodeid that it used before so that the MDS releases things
properly.
I'll see about rolling some patches and updating the docs.
Thanks!
--
Jeff Layton <jlayton(a)redhat.com>
3 years, 5 months
Change in ...nfs-ganesha[next]: RADOS_KV: make rados_kv and rados_ng respect nodeid setting
by Jeff Layton (GerritHub)
Jeff Layton has uploaded this change for review. ( https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/521022 )
Change subject: RADOS_KV: make rados_kv and rados_ng respect nodeid setting
......................................................................
RADOS_KV: make rados_kv and rados_ng respect nodeid setting
Proper interaction with FSAL_CEPH requires that when one server takes
over for another, that it use the same nodeid setting as the original
server. This is properly implemented in rados_cluster backend, but
not in rados_ng or rados_kv.
Implement a get_nodeid op for rados_ng and rados_kv that just clones
the rados_kv_param value if there is one.
Change-Id: I9451e79c3ea7f051062bcad093865f7744c76151
Reported-by: Lars Kellogg-Stedman <lars(a)redhat.com>
Signed-off-by: Jeff Layton <jlayton(a)redhat.com>
---
M src/SAL/recovery/recovery_rados.h
M src/SAL/recovery/recovery_rados_kv.c
M src/SAL/recovery/recovery_rados_ng.c
M src/config_samples/ceph.conf
4 files changed, 16 insertions(+), 4 deletions(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/22/521022/1
--
To view, visit https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/521022
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: I9451e79c3ea7f051062bcad093865f7744c76151
Gerrit-Change-Number: 521022
Gerrit-PatchSet: 1
Gerrit-Owner: Jeff Layton <jlayton(a)redhat.com>
Gerrit-MessageType: newchange
3 years, 5 months
Announce Push of V4-dev.68
by Frank Filz
Branch next
Tag:V4-dev.68
Merge Highlights
* FSAL_GLUSTER: fix double free in open2
* fsal_helper.c: Check owner and owner_group attributes set in open2
Signed-off-by: Frank S. Filz <ffilzlnx(a)mindspring.com>
Contents:
b4d7c4e10 Frank S. Filz V4-dev.68
edba4a5c1 Frank S. Filz Check owner and owner_group attributes in fsal_open2
0e48b4cfb Frank S. Filz FSAL_GLUSTER: fix double free of caller_garray when
nfs3_create fails
3 years, 5 months
Change in ...nfs-ganesha[next]: Check owner and owner_group attributes in fsal_open2
by Frank Filz (GerritHub)
Frank Filz has uploaded this change for review. ( https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/520772 )
Change subject: Check owner and owner_group attributes in fsal_open2
......................................................................
Check owner and owner_group attributes in fsal_open2
If an open2 (create) is trying to set owner and/or owner_group,
do a permission check if non-root.
Change-Id: Iaba844815d22247a679530a7c430541391a28b43
Signed-off-by: Frank S. Filz <ffilzlnx(a)mindspring.com>
---
M src/FSAL/fsal_helper.c
1 file changed, 51 insertions(+), 1 deletion(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/72/520772/1
--
To view, visit https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/520772
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: Iaba844815d22247a679530a7c430541391a28b43
Gerrit-Change-Number: 520772
Gerrit-PatchSet: 1
Gerrit-Owner: Frank Filz <ffilzlnx(a)mindspring.com>
Gerrit-MessageType: newchange
3 years, 5 months
Change in ...nfs-ganesha[next]: Add ability to drive NFSv3 RPCs for specific tests
by Frank Filz (GerritHub)
Frank Filz has uploaded this change for review. ( https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/520771 )
Change subject: Add ability to drive NFSv3 RPCs for specific tests
......................................................................
Add ability to drive NFSv3 RPCs for specific tests
First test included to test NFSv3 CREATE setting group owner for file
to a group not represented in the RPC AUTH_SYS credentials for the
request.
Change-Id: I53c19af38c554825464efaf4cd33f83648f00f38
Signed-off-by: Frank S. Filz <ffilzlnx(a)mindspring.com>
---
M src/CMakeLists.txt
M src/MainNFSD/libganesha_nfsd.ver
A src/MainNFSD/testv3.c
3 files changed, 549 insertions(+), 0 deletions(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/71/520771/1
--
To view, visit https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/520771
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: I53c19af38c554825464efaf4cd33f83648f00f38
Gerrit-Change-Number: 520771
Gerrit-PatchSet: 1
Gerrit-Owner: Frank Filz <ffilzlnx(a)mindspring.com>
Gerrit-MessageType: newchange
3 years, 5 months