Feature #3409
closedmdb: Open source implementation of nfs module
100%
Description
We need open source replacement of the nfs module for mdb.
Testing done:
tested following commands:
nfs_exptable - dump exportinfo structures from the exptable nfs_exptable_path - dump exportinfo structures from the exptable_path_hash nfs_nstree - dump NFS server pseudo namespace tree nfs_expinfo - dump exportinfo structure nfs_path_hashdist - show path hash distribution of the exportinfo table nfs_fid_hashdist - show fid hash distribution of the exportinfo table nfs_expvis - dump exp_visible_t structure nfs_stat - Print NFS statistics KLM nlm_host - dump nlm_host structures (hosts/sysids) nlm_list - list all zones, optionally filter hosts nlm_lockson - dump NLM locks from host (or sysid) nlm_slreq - dump nlm_slreq structures (sleeping lock requests) nlm_vhold - dump nlm_vhold structures (vnode holds) nlm_zone - dump per-zone nlm_globals NFSv state db rfs4_db - dump NFSv4 server database - ether empty (global zone) or zone address rfs4_tbl - dump NFSv4 server table rfs4_idx - dump NFSv4 server index rfs4_bkt - dump NFSv4 server index buckets - give address of indices rfs4_client - dump NFSv4 rfs4_client_t structures - (This is the client structure fro oo, lo, delegate state) rfs4_deleg - dump NFSv4 rfs4_deleg_state_t structures rfs4_file - dump NFSv4 rfs4_file_t structures rfs4_lo - dump NFSv4 rfs4_lockowner_t structures rfs4_lsid - dump NFSv4 rfs4_lo_state_t structures rfs4_oo - dump NFSv4 rfs4_openowner_t structures rfs4_osid - dump NFSv4 rfs4_state_t structures
Related issues
Updated by Marcel Telka almost 11 years ago
- Status changed from New to In Progress
Updated by Gordon Ross about 2 years ago
There's an implementation of this that several people have worked on, currently found in
github/Nexenta e73ce9faf32b9052361bca66ec6b7739317d2d8f
Hopefully this can go upstream soon.
Updated by Toomas Soome 10 months ago
- Description updated (diff)
- External Bug set to racktop:BSR-9288
Updated by Dan McDonald 10 months ago
Link of downstream source: https://github.com/Nexenta/illumos-nexenta/commit/e73ce9faf32b9052361bca66ec6b7739317d2d8f
It appears this most recent update has been there for not-quite two years.
Updated by Toomas Soome 10 months ago
- Description updated (diff)
- % Done changed from 0 to 90
Updated by Electric Monk 10 months ago
- Status changed from In Progress to Closed
- % Done changed from 90 to 100
git commit 86d949f9497332fe19be6b5d711d265eb957439f
commit 86d949f9497332fe19be6b5d711d265eb957439f Author: Vitaliy Gusev <gusev.vitaliy@gmail.com> Date: 2023-02-20T16:08:54.000Z 3409 mdb: Open source implementation of nfs module Portions contributed by: Marcel Telka <marcel@telka.sk> Portions contributed by: Evan Layton <evan.layton@nexenta.com> Reviewed by: Gordon Ross <Gordon.W.Ross@gmail.com> Reviewed by: Bill Sommerfeld <sommerfeld@alum.mit.edu> Reviewed by: Gergő Mihály Doma <domag02@gmail.com> Approved by: Dan McDonald <danmcd@mnx.io>
Updated by Gordon Ross 10 months ago
There was a request for some history of development and usage of what was up for RTI. Here's what I can find.
In April 2012, Vitaliy Gusev at Nexenta wrote what appears to be the initial (open source) implementation of mdb for NFS.
In autumn of 2013, Marcel Telka at Nexenta reorganized and reworked a lot of the mdb for NFS code.
I believe something similar to the 2013 version was integrated later at Nexenta, and used some, but I don't have access to that history. I recall that it was also used prior to integration (built from a branch and installed by hand onto a system for crash dump analysis).
During 2016-2019, Nexenta, RackTop, and others were collaborating on various NFS work including NFSv4.1, NFS-in-a-zone, and mdb for NFS.
In 2018, Evan Laton at Nexenta reworked the NFS mdb module to catch up with "NFS-in-a-zone" (#11083) and integrated it (as NEX-16590). That version got some use at Nexenta for crash dump analysis etc. Evan prepared that version of the mdb code for upstream, but had to leave it "parked".
In late 2021, I integrated the work from 2018 into RackTop's illumos fork with minor cleanup. That version (and preceeding, not yet integrated versions) got some use for tracking down NFSv4 protocol issues.
In early 2023, RackTop commissioned Toomas Soome to work on integrating mdb for NFS.
Updated by Rich Lowe 3 months ago
- Related to Bug #15912: NFS mdb module only exempted from closed-bins when 32bit added