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]: remove unused assigments
by LilyZ (GerritHub)
LilyZ has uploaded this change for review. ( https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/506690 )
Change subject: remove unused assigments
......................................................................
remove unused assigments
Change-Id: If96b36b77ad72c6f42ad9e9ea6815e75d7c4ebfa
Signed-off-by: FloridSleeves <floridsleeves(a)gmail.com>
---
M src/FSAL/commonlib.c
M src/Protocols/NFS/nfs3_write.c
M src/Protocols/NFS/nfs4_op_readdir.c
M src/Protocols/NFS/nfs_proto_tools.c
M src/SAL/recovery/recovery_fs.c
M src/support/export_mgr.c
6 files changed, 3 insertions(+), 7 deletions(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/90/506690/1
--
To view, visit https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/506690
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: If96b36b77ad72c6f42ad9e9ea6815e75d7c4ebfa
Gerrit-Change-Number: 506690
Gerrit-PatchSet: 1
Gerrit-Owner: LilyZ <floridsleeves(a)gmail.com>
Gerrit-MessageType: newchange
4 years
Re: Assign right value to RGW name
by Matt Benjamin
Hi Supriti,
I assume you figured this out, but, the problem is mixing "--log-file"
with "-d" which forces output to the foreground.
regards,
Matt
On Tue, Nov 24, 2020 at 10:19 AM Supriti Singh via Devel
<devel(a)lists.nfs-ganesha.org> wrote:
>
> Hello,
>
> I don't understand exactly what should this value be? Can someone explain what is "rgw" in client.rgw.host? I assumed it would be similar to rgw section in ceph.conf, but that does not seem to be case. In my ceph.conf, I see "client.rgw.master" but if I assign this as name, no log file is created.
>
>
> RGW{
> ceph_conf = "/etc/ceph/ceph.conf";
> name = "client.rgw.host?";
> cluster = "ceph";
> init_args = "-d --debug-rgw=30 --log-file=/etc/ganesha/ganesha_rgw_debug.log";
> }
>
> _______________________________________________
> Devel mailing list -- devel(a)lists.nfs-ganesha.org
> To unsubscribe send an email to devel-leave(a)lists.nfs-ganesha.org
>
--
Matt Benjamin
Red Hat, Inc.
315 West Huron Street, Suite 140A
Ann Arbor, Michigan 48103
http://www.redhat.com/en/technologies/storage
tel. 734-821-5101
fax. 734-769-8938
cel. 734-216-5309
4 years
Change in ...nfs-ganesha[next]: mdcache_lru.c: assert refcount consistency
by Matthew DeVore (GerritHub)
Matthew DeVore has uploaded this change for review. ( https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/506533 )
Change subject: mdcache_lru.c: assert refcount consistency
......................................................................
mdcache_lru.c: assert refcount consistency
Make sure mdcache handles are not in the cih table once their reference
count reaches zero. This assert should always hold, and if not, we
ought to know immediately on debug builds.
After this assert, _mdcache_lru_unref calls mdcache_lru_clean which
calls mdc_clean_entry which calls cih_remove_checked which will drop a
ref if inavl is still true.
Change-Id: Idc6310b17f3588351f6971fe921cb5a1dfc2808e
Signed-off-by: Matthew DeVore <matvore(a)google.com>
---
M src/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_lru.c
1 file changed, 6 insertions(+), 0 deletions(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/33/506533/1
--
To view, visit https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/506533
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: Idc6310b17f3588351f6971fe921cb5a1dfc2808e
Gerrit-Change-Number: 506533
Gerrit-PatchSet: 1
Gerrit-Owner: Matthew DeVore <matvore(a)comcast.net>
Gerrit-MessageType: newchange
4 years
Re: Assign right value to RGW name
by Matt Benjamin
Hi Supriti,
You're right, the name matches the rgw section name to use, in the
supplied ceph.conf.
example:
RGW {
ceph_conf = "/opt/ceph-magna023/etc/ceph/ceph1.conf";
cluster = "ceph1";
name = "client.rgw.magna023";
init_args = "-d --debug-rgw=1";
}
in corresponding ceph.conf:
[client.rgw.magna023]
host = magna023
keyring = /opt/ceph-magna023/var/lib/ceph/radosgw/ceph1-rgw.magna023/keyring
rgw socket path = /tmp/radosgw-magna023.sock
log file = /var/log/ceph/ceph1-rgw-magna023.log
rgw data = /var/lib/ceph/radosgw/ceph1-rgw.magna023
rgw frontends = civetweb port=10.8.128.23:8080 num_threads=50
I don't know any reason the --log-file directive wouldn't work, but I
haven't used it.
Matt
On Tue, Nov 24, 2020 at 10:19 AM Supriti Singh via Devel
<devel(a)lists.nfs-ganesha.org> wrote:
>
> Hello,
>
> I don't understand exactly what should this value be? Can someone explain what is "rgw" in client.rgw.host? I assumed it would be similar to rgw section in ceph.conf, but that does not seem to be case. In my ceph.conf, I see "client.rgw.master" but if I assign this as name, no log file is created.
>
>
> RGW{
> ceph_conf = "/etc/ceph/ceph.conf";
> name = "client.rgw.host?";
> cluster = "ceph";
> init_args = "-d --debug-rgw=30 --log-file=/etc/ganesha/ganesha_rgw_debug.log";
> }
>
> _______________________________________________
> Devel mailing list -- devel(a)lists.nfs-ganesha.org
> To unsubscribe send an email to devel-leave(a)lists.nfs-ganesha.org
>
--
Matt Benjamin
Red Hat, Inc.
315 West Huron Street, Suite 140A
Ann Arbor, Michigan 48103
http://www.redhat.com/en/technologies/storage
tel. 734-821-5101
fax. 734-769-8938
cel. 734-216-5309
4 years
Assign right value to RGW name
by Supriti Singh
Hello,
I don't understand exactly what should this value be? Can someone explain what is "rgw" in client.rgw.host? I assumed it would be similar to rgw section in ceph.conf, but that does not seem to be case. In my ceph.conf, I see "client.rgw.master" but if I assign this as name, no log file is created.
RGW{
ceph_conf = "/etc/ceph/ceph.conf";
name = "client.rgw.host";
cluster = "ceph";
init_args = "-d --debug-rgw=30 --log-file=/etc/ganesha/ganesha_rgw_debug.log";
}
4 years
Change in ...nfs-ganesha[next]: ProxyV3: Add an optional mount_path parameter.
by Solomon Boulos (GerritHub)
Solomon Boulos has uploaded this change for review. ( https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/506315 )
Change subject: ProxyV3: Add an optional mount_path parameter.
......................................................................
ProxyV3: Add an optional mount_path parameter.
I had been using the proxy just to mirror a backend server. Bjorn Leffler
pointed out that it would be handy to allow the proxy to also have
the ability to export a different path than the mount path, particularly if
two backend servers use the same export:
EXPORT {
Export_Id = 1;
Path = "/server1";
Pseudo = "/server1";
FSAL {
Name = "PROXY_V3";
Srv_addr = "192.168.1.2";
Mount_Path = "/export";
}
}
EXPORT {
Export_Id = 2;
Path = "/server2";
Pseudo = "/server2";
FSAL {
Name = "PROXY_V3";
Srv_addr = "192.168.1.3";
Mount_Path = "/export";
}
}
I left it to defaulting to "mirroring" mode (use the export path), but this
seemed like a nice feature request.
Change-Id: I9468733f13dcf37b3eb856a96a02061e80ccf4a0
Signed-off-by: Solomon Boulos <boulos(a)google.com>
---
M src/FSAL/FSAL_PROXY_V3/main.c
M src/FSAL/FSAL_PROXY_V3/proxyv3_fsal_methods.h
2 files changed, 28 insertions(+), 1 deletion(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/15/506315/1
--
To view, visit https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/506315
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: I9468733f13dcf37b3eb856a96a02061e80ccf4a0
Gerrit-Change-Number: 506315
Gerrit-PatchSet: 1
Gerrit-Owner: Solomon Boulos <boulos(a)google.com>
Gerrit-MessageType: newchange
4 years