Debian Package Tracker
Register | Log in
Subscribe

nfs-ganesha

NFS server in User Space

Choose email to subscribe with

general
  • source: nfs-ganesha (main)
  • version: 15.2-1
  • maintainer: Christoph Martin (DMD)
  • arch: all any
  • std-ver: 4.7.0
  • VCS: Git (Browse, QA)
versions [more versions can be listed by madison] [old versions available from snapshot.debian.org]
[pool directory]
  • o-o-stable: 3.4-1
  • oldstable: 4.3-2
  • old-bpo: 5.9-5~bpo12+1
  • stable: 6.5-5
  • stable-bpo: 9.14-1~bpo13+1
  • testing: 9.14-2
  • unstable: 15.2-1
versioned links
  • 3.4-1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 4.3-2: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 4.3-8: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 5.9-5~bpo12+1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 6.5-5: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 9.14-1~bpo13+1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 9.14-1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 9.14-2: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 15.2-1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
binaries
  • nfs-ganesha (7 bugs: 0, 7, 0, 0)
  • nfs-ganesha-ceph
  • nfs-ganesha-doc
  • nfs-ganesha-gluster
  • nfs-ganesha-gpfs
  • nfs-ganesha-mem
  • nfs-ganesha-nullfs
  • nfs-ganesha-proxy-v4
  • nfs-ganesha-rados-grace
  • nfs-ganesha-rgw
  • nfs-ganesha-vfs
  • python3-nfs-ganesha
action needed
Marked for autoremoval on 12 November: #1150928 high
Version 9.14-2 of nfs-ganesha is marked for autoremoval from testing on Thu 12 Nov 2026. It is affected by #1150928. You should try to prevent the removal by fixing these RC bugs.
Created: 2026-10-21 Last update: 2026-10-27 12:20
A new upstream version is available: 15.9 high
A new upstream version 15.9 is available, you should consider packaging it.
Created: 2026-10-22 Last update: 2026-10-27 06:04
lintian reports 1 error and 64 warnings high
Lintian reports 1 error and 64 warnings about this package. You should make the package lintian clean getting rid of them.
Created: 2026-06-28 Last update: 2026-10-20 22:01
2 security issues in trixie high

There are 2 open security issues in trixie.

2 important issues:
  • CVE-2026-105516:
  • CVE-2026-105517:
Created: 2026-10-09 Last update: 2026-10-20 18:00
2 security issues in bookworm high

There are 2 open security issues in bookworm.

2 important issues:
  • CVE-2026-105516:
  • CVE-2026-105517:
Created: 2026-10-09 Last update: 2026-10-20 18:00
version in VCS is newer than in repository, is it time to upload? normal
vcswatch reports that this package seems to have a new changelog entry (version 15.2-3, distribution unstable) and new commits in its VCS. You should consider whether it's time to make an upload.

Here are the relevant commit messages:
commit df9907ed8a6e80efa657832ec2ff819e105be434
Merge: 8214eea 806f69f
Author: Christoph Martin <chrism@debian.org>
Date:   Tue Oct 27 11:13:45 2026 +0000

    Merge branch 'v15.2' into 'master'
    
    15.2-3 release
    
    See merge request debian/nfs-ganesha!10

commit 806f69fb66eb7746158236127d323083d5750df5
Author: Christoph Martin <martin@uni-mainz.de>
Date:   Mon Oct 26 23:20:55 2026 +0100

    d/control: Make python3-nfs-ganesha depend on procps for pidof (Closes: #1136534)

commit ee8dc49c9acbbc3fcf3e42742e6a7334aafc21fe
Merge: 2c2dc11 8214eea
Author: Christoph Martin <martin@uni-mainz.de>
Date:   Mon Oct 26 23:18:41 2026 +0100

    Merge branch 'master' into v15.2

commit 8214eea36da50ebe59aca366c1013fa84c589d61
Merge: 6e1be58 874f20c
Author: Christoph Martin <chrism@debian.org>
Date:   Mon Oct 26 22:12:55 2026 +0000

    Merge branch 'pidof-deps-procps' into 'master'
    
    d/control: Make python3-nfs-ganesha depend on procps for pidof (Closes: #1136534)
    
    See merge request debian/nfs-ganesha!9

commit 874f20c40ed2972432c479373b07b9017346a856
Author: Gioele Barabucci <gioele@debian.org>
Date:   Sat Oct 24 00:37:56 2026 +0200

    d/control: Make python3-nfs-ganesha depend on procps for pidof
    
    `ganesha-top` requires `pidof` to detect the presence of the Ganesha
    server.
    
    Thus the `python3-nfs-ganesha` package must depend on `procps`.
    
    Closes: #1136534

commit 2c2dc11154e7a677819b19b056f7e00312603966
Merge: f3e2f65 21c634b
Author: Christoph Martin <martin@uni-mainz.de>
Date:   Tue Oct 20 18:28:47 2026 +0200

    Merge branch 'master' into v15.2

commit 21c634b75428249e2cb21c6177438c89b6b11f90
Merge: 50715e4 3f9aec6
Author: Christoph Martin <chrism@debian.org>
Date:   Tue Oct 20 07:53:10 2026 +0000

    Merge branch 'v15.2' into 'master'
    
    close #1150928
    
    See merge request debian/nfs-ganesha!7

commit f3e2f65760b5df3183a7c75c58e1d4ac9e22bd3f
Merge: 07abf97 50715e4
Author: Christoph Martin <martin@uni-mainz.de>
Date:   Tue Oct 20 09:26:02 2026 +0200

    Merge branch 'master' into v15.2

commit 07abf977c24afe873cbcb0cbefe4960744ebd1c9
Author: Christoph Martin <martin@uni-mainz.de>
Date:   Tue Oct 20 08:07:22 2026 +0200

    builds against libntirpc 15.2 (closes: #1150928)

commit d4b56b4ac8e389256c4fd3f147e7ea47ebfdc8bc
Author: Christoph Martin <martin@uni-mainz.de>
Date:   Mon Oct 19 19:56:03 2026 +0200

    new builddeps

commit 9c8f85c79414836ca69c7560347c132a22bcbf4a
Author: Christoph Martin <martin@uni-mainz.de>
Date:   Sat Oct 17 17:18:21 2026 +0200

    fix install of gpfs-epoch

commit 9195d80674cecbd869957c6adea48c0bd7c87354
Author: Christoph Martin <martin@uni-mainz.de>
Date:   Sat Oct 17 16:04:55 2026 +0200

    * add new builddeps
    * enable TLS

commit 0329147c243ba5b9f548787da69bd4cb0bb5d1de
Author: Christoph Martin <martin@uni-mainz.de>
Date:   Sat Oct 17 16:02:38 2026 +0200

    remove submodule libntirpc

commit 95921224eb8264559d27210e1936da25bdcce515
Merge: 1e7ade8 fb94ea6
Author: Christoph Martin <martin@uni-mainz.de>
Date:   Sat Oct 17 16:00:08 2026 +0200

    Merge commit 'fb94ea6fdfbca73675d2e8386bdecd40305350a0' as 'src/libkmip'

commit fb94ea6fdfbca73675d2e8386bdecd40305350a0
Author: Christoph Martin <martin@uni-mainz.de>
Date:   Sat Oct 17 16:00:08 2026 +0200

    Squashed 'src/libkmip/' content from commit 4f553ecaf
    
    git-subtree-dir: src/libkmip
    git-subtree-split: 4f553ecaf8e57cc3019222b8551d17888f0a1e66

commit 1e7ade80cd15a37367d602c3d12e1c8a517ca8dd
Author: Christoph Martin <martin@uni-mainz.de>
Date:   Sat Oct 17 15:53:43 2026 +0200

    remove submodule libkmip

commit 381fdf9afa229d46634705a048b5b93d17b66168
Author: Christoph Martin <martin@uni-mainz.de>
Date:   Sat Oct 17 15:54:11 2026 +0200

    enable TLS

commit 026178f9b871a89a701e0de28ac92bc37383e3f4
Author: Christoph Martin <martin@uni-mainz.de>
Date:   Sat Oct 17 15:23:27 2026 +0200

    fix source/format 1.0

commit 4c08c8a11d9033f8d17c97174ff37e472a56e5ab
Author: Christoph Martin <martin@uni-mainz.de>
Date:   Sat Oct 17 11:48:00 2026 +0200

    add builddep on libssl-dev

commit a99d559ed784bd751e5051262bb810357c05d8ee
Author: Christoph Martin <martin@uni-mainz.de>
Date:   Sat Oct 17 01:34:25 2026 +0200

    New upstream release.

commit 7eb0d6b57e5ad4ca1ab00f07052cdd8678bf0c65
Merge: 66151aa b2d60cb
Author: Christoph Martin <martin@uni-mainz.de>
Date:   Sat Oct 17 01:30:11 2026 +0200

    Merge tag 'V15.2' into v15.2
    
    V15.2
    
    NOTE: This merge includes an ntirpc pullup, please update your submodule.
    
    Merge Highlights
    
    * Add configurable access check policies for READDIR and LOOKUP
    
    * Reorder operations in fsal_test_access to eliminate redundant getattrs calls.
    
    * QoS: fix NULL qos_block deref in qos_perexport_insert
    
    * Allow FSAL module to populate getdeviceinfo notifications
    
    * Fix NULL ev_p Crash During Blocked Lock Grant
    
    * ntirpc pullup to V15.2
    
    Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>

commit b2d60cb3da9910a8c5c30420c133ae41a57716dd
Author: Frank S. Filz <ffilzlnx@mindspring.com>
Date:   Fri Aug 21 14:34:05 2026 -0700

    V15.2
    
    Change-Id: If3e774d68a40578005bc48e037b0fb9e28ab0e30
    Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>

commit 67c3843ee3644b4c137bee0f1b47c3584928be7b
Author: Frank S. Filz <ffilzlnx@mindspring.com>
Date:   Fri Aug 21 14:32:34 2026 -0700

    ntirpc pullup to V15.2
    
    Change-Id: I807f75e781d05838bcdef280f8791e385b37246c
    Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>

commit 11feeb2abb08e5cbe6f2adc0d46dc8c6a3ac81f3
Author: Rajesh Prasad <raprasad@redhat.com>
Date:   Tue Aug 18 09:47:09 2026 -0400

    Fix NULL ev_p Crash During Blocked Lock Grant
    
    Bug: Ganesha crashes with a NULL dereference in `svc_rqst_expire_insert`
    when granting a blocked NFSv4 lock to a client that disconnected before
    the grant was attempted.
    
    Event Sequence:
    
    Client A - Acquires lock on file F
    Client B - Requests same lock; placed in blocked-lock queue
               (`STATE_BLOCKING`)
    Client B - Disconnect — `svc_rqst_unreg()` clears `rec->ev_p = NULL
    Client A - Issues `LOCKU` — lock released
    Ganesha - Calls `grant_blocked_locks()` — Client B's entry is the
              first candidate
    Ganesha - `nfsv4_granted_callback()` → `nfs_rpc_cb_single()` →
              `nfs_rpc_call()` → `CLNT_CALL_BACK()` →
              `clnt_req_callback()` → `svc_rqst_expire_insert()`
    CRASH - `sr_rec = cx->cx_rec->ev_p` is `NULL` →
            `mutex_lock(sr_rec->)` → SIGSEGV
    
    Fix:
    While `cid_mutex` is held, a session cannot be removed from
    `cb_session_list` (removal happens under `cid_mutex`), so the pointer
    returned by `nfs41_Session_Get_Pointer` will equal `scur` in the normal
    disconnect scenario. However, using `assert()` is wrong as a recovery tool:
    - If session state is ever inconsistent (e.g. hash corruption), the server aborts.
    - The correct action is to log the error and return `ENOTCONN` gracefully, giving `nfsv4_granted_callback()` the chance to return `STATE_ESTALE` and trigger lock entry cleanup.
    
    Handle RPC failure case -
    Covers the narrow race where the transport is destroyed after the
    pre-check passes but before (or during) the RPC send. If RPC failed,
    remove entry, try next.
    
    Used `STATE_ESTALE` to cleans up correctly -
    `try_to_grant_lock()` handles the return value of the callback:
    
    ```
    STATE_LOCK_BLOCKED  → restore sle_blocked, leave in list (will retry)
    STATE_SUCCESS       → return (lock granted, entry promoted)
    anything else       → fall through to remove_from_locklist()
    ```
    
    `STATE_ESTALE` is "anything else", so the entry is removed.
    `grant_blocked_locks()` uses `glist_for_each_safe`, so after the entry
    is removed the loop automatically advances to the next blocked waiter.
    
    Change-Id: I119d51ff60fb20022a1e38e3c1c510da8f45dcb2
    Signed-off-by: Rajesh Prasad <raprasad@redhat.com>

commit 02c4823239a33840103dd59a8ddfb90732e901e8
Author: Haihua Yang <yanghh@gmail.com>
Date:   Fri Jul 24 23:31:10 2026 +0000

    Allow FSAL module to populate getdeviceinfo notifications
    
    Change-Id: Ieeb85eabd35ac63e5d430885136f09f561ac8a51
    Signed-off-by: Haihua Yang <yanghh@gmail.com>

commit aa69b37e25ee4d995b055e8604d102f1ad518696
Author: Suhas Athani <Suhas.Athani@ibm.com>
Date:   Wed Aug 19 05:57:00 2026 -0400

    QoS: fix NULL qos_block deref in qos_perexport_insert
    
    qos_perexport_insert(export, NULL) is valid and means "use g_qos_config"
    via lqos_block. The USE_MONITORING path still used qos_block->qos_type,
    which SIGSEGV'd when EnableExportQosBwControl passed NULL.
    
    Use lqos_block for the Per_Export metrics check.
    
    Crash site: nfs_qos.c qos_perexport_insert(), qos_block == NULL.
    
    Change-Id: I04a982e8c3b5142c9f0c99e2a8d645e6a6ee98d3
    Signed-off-by: Suhas Athani <Suhas.Athani@ibm.com>

commit f6fcb89c5a2b44a84e4acd1faa5ef8e09d91e8f2
Author: Inna Batenkov <inneek@gmail.com>
Date:   Mon Aug 17 16:38:29 2026 +0000

    Reorder operations in fsal_test_access to eliminate redundant getattrs calls.
    
    When access_type is 0 ("nothing requested"), fsal_test_access previously called
    getattrs on the object handle before checking access_type. Moving the
    access_type check to the beginning of fsal_test_access avoids executing an unnecessary getattrs RPC query when access_type == 0
    
    Change-Id: I791a175e3a92f2fb449f856a9c3f7918258dffdd
    Signed-off-by: Inna Batenkov <inneek@gmail.com>

commit 23700bfb16761e4e483d2f5d230e49e7fe8ce706
Author: Inna Batenkov <inneek@gmail.com>
Date:   Wed Jul 1 14:31:10 2026 +0000

    Add configurable access check policies for READDIR and LOOKUP
    
    Change-Id: Iea7f2f9c7b94a2c5dffc6ca464741ce76a3c7c56
    Signed-off-by: Inna Batenkov <inneek@gmail.com>

commit f35046ff99c3a2faa77fda959396bf43e41dfe71
Author: Frank S. Filz <ffilzlnx@mindspring.com>
Date:   Fri Aug 14 15:15:52 2026 -0700

    V15.1
    
    Change-Id: Id7d3b6c67e829c32ab24b069d18e0511e11feeff
    Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>

commit 3a0dcc3938d8b540e7f4a7522bd19f1d48ec247f
Author: Sheng Li <50203418+LiShengG@users.noreply.github.com>
Date:   Wed Jul 8 10:37:26 2026 +0800

    FSAL/CEPH: Release invalidated dentry inode
    
    When a file created through nfs-ganesha (CephFS backend) is unlinked by
    another CephFS client, the MDS reports nlink == 0 and libcephfs delivers
    a dentry invalidate callback carrying the dentry's inode.
    dentry_invalidate_cb only invalidated the parent directory's dirent
    cache, leaving the MDCACHE entry for the unlinked file in place with its
    libcephfs Inode reference. The MDS could not purge the stray inode, and
    the file's storage space stayed allocated until ganesha restarted.
    
    Nothing else releases that reference on an idle system: ino_release_cb
    is only produced by trim_caps(), and MDCACHE LRU reaping only happens
    above Entries_HWMark.
    
    Also issue the try_release up-call for the dentry inode, which libcephfs
    supplies only when it is removing the dentry from its own cache.
    try_release drops the cached handle only when the object is otherwise
    unused, so an inode still held open by an NFS client is left alone.
    
    The up_ops lookup is done under cmount_lock and both up-calls share a
    single read-side critical section.
    
    Change-Id: I68d7847a87b363c7b4332ed853bfd23fd7963879
    Signed-off-by: Sheng Li <50203418+LiShengG@users.noreply.github.com>

commit 84093c1898050a2c69d784244bf20e385af98968
Author: Nishant Puri <npuri@redhat.com>
Date:   Thu Aug 13 06:14:31 2026 -0400

    memstats: fix comp-tag mismatches, and bpftrace audit
    
    Fix READDIR vio_base free tag (IO_BUFFER) and utf8string XDR_FREE via
    free_utf8string() so PROTOCOL allocs are not freed as LIBNTIRPC.
    
    Improve audit file: delete per-pointer BPF keys on free, larger hash maps,
    and silence bpftrace delete() warnings.
    
    Change-Id: I2eba1ca8ec9c91872d1836c926ad493d7932eb9c
    Signed-off-by: Nishant Puri <npuri@redhat.com>

commit 28a7f28a7d6dfec90b3092074cbaa6889b49b796
Author: VidyaThumukunta <vidya.thumukunta@ibm.com>
Date:   Wed Aug 12 05:23:50 2026 -0400

    Grpc: Extend ShowExports response with protocol summary
    
    Enhance the ShowExports gRPC API to include per-export protocol
    activity, total operation count, and last update timestamp.
    
    Also added 9P-specific gRPC APIs with _USE_9P to align with the
    build configuration when 9P support is disabled.
    
    Change-Id: I3a71a46bcc6c98ae07e1f4d8b49d0d1a20f0bf47
    Signed-off-by: VidyaThumukunta <vidya.thumukunta@ibm.com>

commit dcb5934eaa379d55f388b682d76d1e3e4ebbd7e3
Author: VidyaThumukunta <vidya.thumukunta@ibm.com>
Date:   Thu Aug 13 05:33:30 2026 -0400

    Github issue #1128 - Reuse common synchronization for UpdateExport
    
    Move the export synchronization helpers to common code and
    reuse them from both the DBus and gRPC UpdateExport paths.
    
    Invoke the common synchronization logic after successful
    UpdateExport operations to keep the PseudoFS consistent
    following dynamic export updates.
    
    Change-Id: I47b3376c4da4ce9ebcf16667393dd5bea8a73d14
    Signed-off-by: VidyaThumukunta <vidya.thumukunta@ibm.com>

commit 2a8abe7eafcba0cad6f9be35b3608b3168d1d27d
Author: Suhas Athani <Suhas.Athani@ibm.com>
Date:   Thu Aug 13 06:49:05 2026 -0400

    Fix Coverity leak in ceph_register_nfs_service(Coverity: 651219)
    
    Coverity CID 651219 flags a leak of the dlopen handle in
    ceph_register_nfs_service() when dlsym() fails.
    
    dlclose() the handle on that failure path. On success the mapping is
    left open: register_service_to_ceph() starts a heartbeat thread whose
    code and state live in libganesha_rados_urls.so.
    
    Change-Id: I58053dc283e83cc30f5707fc62a9f9d31de8452f
    Signed-off-by: Suhas Athani <Suhas.Athani@ibm.com>

commit bcd37c533d1d0dc003b1b3682fd4924da9c5fa0d
Author: Suhas Athani <Suhas.Athani@ibm.com>
Date:   Wed Aug 12 03:36:20 2026 -0400

    gRPC: Add gRPC FakeRecall API for CBSIM fake_recall
    
    Introduce nfsService.FakeRecall/FakeRecall, taking client_id and
    returning nfsProtoUtil.StatusResponse. The handler delegates to
    a new C helper, grpc_cbsim_fake_recall(). The helper mirrors the
    D-Bus CBSIM behavior: look up a confirmed client id, test the
    callback channel, and submit a demonstration CB_RECALL.
    
    Change-Id: Ibb35912e217a269f362c6421d4038bf6213f73c7
    Signed-off-by: Suhas Athani <Suhas.Athani@ibm.com>

commit fafff0966bea23183895e6e181d27643175ec356
Author: Suhas Athani <Suhas.Athani@ibm.com>
Date:   Tue Aug 11 02:46:07 2026 -0400

    Fix gRPC build for two-arg gsh_free and C++ linkage of mem stats
    
    - Pass `MEM_COMP_CONFIG` to `gsh_free` in `nfsServiceServer.cc`
      (AddExport/UpdateExport), matching `export_mgr.c` and the updated
      `gsh_free(p, comp)` API.
    - Move `gsh_mem_stats_update_alloc` / `gsh_mem_stats_update_free`
      declarations inside the `extern "C"` block in `abstract_mem.h` so
      C++ callers link against the C symbols instead of mangled names.
    
    Change-Id: Ic35d254957755caa5b2d10490857215fbdb7f2f1
    Signed-off-by: Suhas Athani <Suhas.Athani@ibm.com>

commit 0353f0953417f466c79588e8df92273b9f262c6c
Author: Prabhu Murugesan <prabhu.murugesan1@ibm.com>
Date:   Thu Aug 13 11:10:59 2026 -0700

    Fix malformed legacy Python install bcond generation
    
    Remove the unintended RPMBUILD_VERSION value from the
    BCOND_LEGACY_PYTHON_INSTALL CMake variable.
    
    Including RPMBUILD_VERSION caused CMake to generate a list, resulting
    in the RPM version being prepended to the generated spec file, e.g.:
    
    4.19.1.1;%bcond legacy_python_install ...
    
    This causes rpmbuild to fail with "Unknown tag".
    
    Change-Id: I722157cfd866282b76d789087971a79e144946b6
    Signed-off-by: Prabhu Murugesan <prabhu.murugesan1@ibm.com>

commit 624586f78f5515b695ad4d320845d3a61896d0f6
Author: Prabhu Murugesan <prabhu.murugesan1@ibm.com>
Date:   Tue Aug 11 05:51:38 2026 -0700

    Use GPFS-specific logrotate config for Ganesha packages
    
    Install the GPFS-specific gpfs_logrotate_ganesha configuration when
    building Ganesha with GPFS support. For non-GPFS builds, continue to
    install the standard logrotate_ganesha configuration
    
    Change-Id: I6a79c1029451633e711061c059707508143adbd7
    Signed-off-by: Prabhu Murugesan <prabhu.murugesan1@ibm.com>

commit cf95ecf49343adf2d9df3475ec4d86117b1956f3
Author: Frank S. Filz <ffilzlnx@mindspring.com>
Date:   Fri Aug 7 16:24:38 2026 -0700

    V15.0
    
    Change-Id: I29acf48fde5dd3a41c1495fe6e6d816567b06db6
    Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>

commit 21c88a58ada7993bf9fb2d38516ba11b28539bd6
Author: Sachin Punadikar <sachin.punadikar@ibm.com>
Date:   Thu Aug 6 13:20:10 2026 -0400

    Fix compilation error for USE_NFS3=OFF
    
    Fix compilation error when build time flag USE_NFS3=OFF is used.
    
    Change-Id: I17ff654507954f71084cc03d953abafb17d2cea7
    Signed-off-by: Sachin Punadikar <sachin.punadikar@ibm.com>

commit aa9472e5270a3ccbc4f783980d36cb0850d93673
Author: VidyaThumukunta <vidya.thumukunta@ibm.com>
Date:   Thu Aug 6 08:54:39 2026 -0400

    Grpc: Add CacheMgr gRPC APIs
    
    Implement gRPC equivalents for the CacheMgr DBus APIs by introducing
    the CacheMgrService. Add support for the following methods:
    
    - ShowIdMapperUsers
    - ShowIdMapperGroups
    - ShowNegativeUsers
    - ShowNegativeGroups
    - ShowNegativeUIDs
    - ShowUid2Grp
    
    Introduce helper APIs in the cache modules to populate gRPC-specific
    data structures while keeping the existing DBus implementation
    unchanged.
    
    Change-Id: I76e2d983244a7a617012127f80bfc7ac69dc54a9
    Signed-off-by: VidyaThumukunta <vidya.thumukunta@ibm.com>

commit adf2cc08b8c51c5fc455d33242930369c49a3e17
Author: Nishant Puri <npuri@redhat.com>
Date:   Tue Jul 14 08:03:00 2026 -0400

    memstats: add framework for runtime memory accounting
    
    Introduce a memory statistics framework to track dynamic memory usage
    across NFS-Ganesha components. The framework associates allocations and
    frees with well-defined memory components, enabling runtime visibility into
    allocation activity, current memory consumption, and leak analysis.
    
    Organize memory accounting around well-defined allocation domains
    spanning ACLs, client management, client IDs and sessions, configuration,
    exports, FSAL, protocol processing, state management, recovery,
    cache management, libntirpc, D-Bus and gRPC management interfaces,
    QoS, I/O buffers and supporting infrastructure. Allocation sites
    throughout these subsystems are updated to attribute memory usage to
    the appropriate component while preserving existing allocation semantics.
    
    Add DBus interfaces and corresponding ganeshactl support to display and
    reset memory statistics at runtime, allowing administrators and
    developers to inspect memory usage without restarting the server.
    
    Also provide a bpftrace-based auditing tool to help validate component
    classification and identify allocation sites while developing or
    debugging memory attribution.
    
    The collected statistics provide per-component allocation counts,
    deallocation counts, allocated bytes, freed bytes, current memory usage
    and peak memory usage, simplifying memory leak analysis and long-running
    memory usage investigations
    
    Change-Id: I8e1840e4a6a530eaae6e41d532d5f86768445ceb
    Signed-off-by: Nishant Puri <npuri@redhat.com>

commit 8432f4ff4e6a38c4bdfc3403d9e1d21b7de3e68a
Author: Nishant Puri <npuri@redhat.com>
Date:   Wed Aug 5 06:24:39 2026 -0400

    log: ignore duplicate conditional logging list entries
    
    Duplicate export IDs or clients in Log { Conditional { ... } } were
    reported via config_proc_error() but set err_type->exists, causing
    read_log_config() to fail and abort startup or reload.
    
    After logging a duplicate, clear err_type->exists and return success from
    the conditional logging adders so the first entry is kept and parsing
    continues. Warnings remain in the config error buffer, so startup still
    fails when ganesha.nfsd is invoked with -x.
    
    Change-Id: Ib3915bdd8175ca1d5812c29bcdfa21c50799e740
    Signed-off-by: Nishant Puri <npuri@redhat.com>

commit b895a1c8938024563dd2c52d911dfc10fa979008
Author: Frank S. Filz <ffilzlnx@mindspring.com>
Date:   Tue Aug 4 13:35:02 2026 -0700

    V14.1
    
    Change-Id: I02cd9ad5e2ef702a52b232a4080648dc116723cc
    Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>

commit b135397c59dd2ce5ac3bf7ff0d87d717f60a7223
Author: Naresh Chillarege <naresh.chillarege@ibm.com>
Date:   Tue Aug 4 13:34:35 2026 -0400

    Fixed rpm build issue without cluster qos enabled.
    
    Change-Id: Ic33f98cc115f61df936668e69af8b77beff872ee
    Signed-off-by: Naresh Chillarege <naresh.chillarege@ibm.com>

commit 208a1b582412448b74b4c92e723563aa4c50755b
Author: VidyaThumukunta <vidya.thumukunta@ibm.com>
Date:   Wed Jul 29 14:48:05 2026 -0400

    Grpc: Add export management APIs
    
    Implement gRPC APIs for adding, updating, and removing exports.
    
    The implementation reuses the existing export management
    infrastructure and includes the required pseudo filesystem
    synchronization after export changes.
    
    Change-Id: I7ec4bc119c5d35e6f130d664bda9a060d259be1b
    Signed-off-by: VidyaThumukunta <vidya.thumukunta@ibm.com>

commit 3f81c3eedecd89d9ed589bbf20b92ec06bf8d1b0
Author: VidyaThumukunta <vidya.thumukunta@ibm.com>
Date:   Mon Jul 27 03:46:55 2026 -0400

    Grpc: Add remaining export statistics APIs
    
    Implement gRPC equivalent APIs for the remaining export statistics D-Bus methods:
    
    - GetFULLV3Stats
    - GetFULLV4Stats
    - GetFastOPS
    - GetNFSv41Layouts
    - GetNFSv42Layouts
    - Get9pIO
    - Get9pOpStats
    - EnableStats
    - DisableStats
    - ResetStats
    - StatusStats
    - GetAuthStats
    - GetExportDetails
    - ShowFDUsage
    - ShowMDCache
    
    The implementation preserves D-Bus behavior while introducing common
    helper functions to reduce duplicated logic across protocol-specific
    statistics handlers.
    
    Change-Id: I428fa1321a33983e11876cc5d5cb9d1522dc12f3
    Signed-off-by: VidyaThumukunta <vidya.thumukunta@ibm.com>

commit b7e25ed3f1b18b674e826943c3af8dc94a43d1ed
Author: Marcus Watts <mwatts@redhat.com>
Date:   Fri Jul 3 00:18:03 2026 -0400

    packaging : jumbo fixups for el9,10
    
    = src/nfs-ganesha.spec-in.cmake =
    
    buildrequires python3-setuptools
      Install python3-setuptools on el 9, 10.
    don't install bits not built
      If using the system libntirpc, the file libntirpcmonitoring.so
      will not be built and cannot be installed.
    do not remove __pycache__
      Removing __pycache__ at buld time won't work.
      It will be built by an automatic rule at %install time which
      happens after %build time.
    
      Secondly, removing __pycache__ is Bad.  What will happen then is:
      the first time root runs across this python module, a .pyc file will
      be made.  Since that .pyc file isn't being managed, it will interfere
      with later attempts to remove or update the package.
    must install /Ganesha/ bits for el9,10
      They get installed by cmake.  And I believe at least some of the bits
      are needed by some of the nfs ganesha utilities.
    Set WITH_PYTHON3 to ensure cmake will use the right
      python to put files where rpmbuild expects to find them.
      This matters because ci-tests installs python 3.11 along
      with python 3.9.
    Correct usage of @BCOND_LIZARDFS@ and %{use_fsal_saunafs}.
    Use @BCOND_LEGACY_PYTHON_INSTALL@ to get bcond_with/without or
      bcond according to version of rpmbuild.
    Use NTIRPC_COMMENT_IF_EQUAL to comment out duplciated libntirpc.so.
    Package /Ganeha/* files for utils for fc34+ too.
    "libacl-devel" is a core build requirement requirement, it's not
      just for ceph | gluster.
    In fc43+, python3-build is replaced by python3-build+virtualenv .
    
    = src/CMakeLists.txt =
    
    Update cmake minimum reuired to 3.10.  Remove support for <2.6.
      Also document which versions this was teted with.
    
    Default LizardFS off.
    
    Fix CMP0175 errors.  Corrects add_custom_command usage.
    
    Resurrect USE_LEGACY_PYTHON_INSTALL option, but automagic it
      to when python version < 3.12.  This can be used for fc37
      which has python 3.11, but requires without legacy_pythoh_install.
    
    Logic to set NTIRPC_COMMENT_IF_EQUAL_ELSE_PERCENT acording to whether
      NTIRPC_VERSION_EMBED == NTIRPC_ABI_EMBED.  This will
      expand out to suppress duplicating libntirpc.so
      if the versions are the same (which is currently always true).
    
    Detect version of rpmbuild and emit %bcond_with / %bcond_without
      for older rpmbuild that doesn't have %bcond.  This matters
      for fc34 and el9.
    
    = src/scripts/gpfs-epoch/CMakeLists.txt =
    
    install gpfs-epoch in el10
      Ganesha wants to put gpfs-epoch, a python script, into
      /usr/libexec/ganesha (or some logical variation thereof).
    
      In el10, we have python 3.12, which removes support for antique install logic.
      The replacement (python3 -m installer) lacks support for setting bindir
      and always puts scripts into /usr/bin.  Rather than fighting with
      the python installer, this commit just installs the script directly.
    
    = src/scripts/ganesha-top/CMakeLists.txt =
    
    fix ganesha-top install on el10
      This change works around antique python install logic
      for ganesha-top.
    
      "mkdir -p build/lib" invites the python installer to recursively search
      for all .py files, which results in really weird behavior when it finds
      build/lib.  We don't need this, so get rid of it.  The goal is that
      the wheel that comes out of this should not have setup.py or build/lib,
      or any variation thereof.
    
      package_dir isn't needed here, so get rid of it.
    
    Change-Id: I943ed9958bb1326acc21f3354f8d8ced297ded0a
    Signed-off-by: Marcus Watts <mwatts@redhat.com>

commit 9fbcecdf7983aca265d1755cf2f5e588b7c06b9e
Author: Frank S. Filz <ffilzlnx@mindspring.com>
Date:   Tue Aug 4 13:25:24 2026 -0700

    Pullup ntirpc 14.1
    
    This includes a patch that should have gpone into V14.0
    
    Change-Id: Id4fd7a3ab2efb78b1b24dbf721c7071aa9662056
    Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>

commit 4001eb75ce3101fa76d077678eade3ffbfe7a36c
Author: Frank S. Filz <ffilzlnx@mindspring.com>
Date:   Fri Jul 31 15:24:09 2026 -0700

    V14.0
    
    Change-Id: I9d7fc3a9e7db968f5c25e0fdd75657aaf7b9356a
    Signed-off-by: Frank S. Filz <ffilzlnx@mindspring.com>

commit a6fe32815982278452d5f594a31cf7083ce04061
Author: Suhas Athani <Suhas.Athani@ibm.com>
Date:   Mon Jul 27 05:41:08 2026 -0400

    gRPC: Add gRPC ClientMgr APIs for Add/Remove/Show/Disconnect clients
    
    - Add `cltmgrService.ClientMgr` mirroring D-Bus
      `org.ganesha.nfsd.clientmgr`:
      AddClient
      RemoveClient
      ShowClients
      DisconnectNfsv41Client
    - Wire C bridge helpers in `client_mgr.c` /
      `server_stats.c` and register `ClientMgrService`
      alongside the existing `ClientStats` service.
    - Preserve D-Bus semantics: status in the response
      body, ShowClients returns a client snapshot with
      protocol/state counters, Disconnect tears down
      NFSv4.1/4.2 session connections only.
    
    Change-Id: If14cc33a8deab4685aa0f7e60f8f95aabb375d08
    Signed-off-by: Suhas Athani <Suhas.Athani@ibm.com>

commit 470e4c0ab8e86890e92454023facbd1d18fa0248
Author: Suhas Athani <Suhas.Athani@ibm.com>
Date:   Thu Jul 30 04:48:09 2026 -0400

    Normalize IPv4 addresses in hash_sockaddr() to match IPv4-mapped IPv6 form
    
    `hash_sockaddr()` produces different hashes for the same IPv4 address
    depending on whether it's stored as `AF_INET` or IPv4-mapped IPv6
    (`::ffff:a.b.c.d`). This breaks consistency in the client_mgr cache:
    NFS inserts using the mapped form, but RemoveClient clears using the
    plain IPv4 form, leaving a stale pointer after free.
    
    Problem:
    - `sockaddr_cmp()` treats both forms as equal (canonicalization on compare)
    - `hash_sockaddr()` did not normalize them the same way on little-endian hosts
    - RemoveClient cache invalidation misses, leaving freed entry accessible
    - Subsequent remount hits stale cache → use-after-free or crash in `sockaddr_cmp()`
    
    Solution:
    1. Normalize `AF_INET` to IPv4-mapped IPv6 before hashing in `hash_sockaddr()`
       so both forms produce the same hash.
    2. Use the stored client address hash in `remove_gsh_client()` for cache
       invalidation (defensive; now redundant but future-proof).
    
    Change-Id: Ibf2d8a5fc1a81b3ef48551c895e7af2c4d173897
    Signed-off-by: Suhas Athani <Suhas.Athani@ibm.com>

commit 756057556e118234c152e7d0039974ef3f5cf037
Author: Nishant Puri <npuri@redhat.com>
Date:   Wed Jul 29 10:18:22 2026 -0400

    SAL: hold NLM owner ref while share is on share lists
    
    Commit-id: dc03cb3 removed the owner reference held through get_nlm_state().
    That exposed a gap in the NLM4_SHARE path: when a share is first
    linked onto ssc_share_list, no owner reference was taken, but
    nlm4_Share() still drops its temporary owner ref at RPC end. The
    owner can be freed while share state_t and share lists remain,
    leading to use-after-free during FREE_ALL/SM_NOTIFY cleanup.
    
    Take inc_state_owner_ref() when adding the first share to
    ssc_share_list in state_nlm_share(), and dec_state_owner_ref() in
    remove_nlm_share() when the share is fully removed.
    
    Change-Id: I8829de9b1140852f207088e20c358a60dad75403
    Signed-off-by: Nishant Puri <npuri@redhat.com>

commit 526574c296017e07567b1d2cdb925a20ff58abf1
Author: Ananya Gupta <ananyagupta4506@gmail.com>
Date:   Mon Jul 27 21:50:39 2026 -0700

    Enabling NFS over UDP for mount and rquota only by default in NFS-Ganesha
    The default value of Enable_UDP is changed from all to mount, rquota
    
    Change-Id: Icbb5a569c6a6abb97e7d30f03181e1b62a8c86ba
    Signed-off-by: Ananya Gupta <ananyagupta4506@gmail.com>

commit 8bdb7b5538053ef4520daef880e59131bb06dc4d
Author: VidyaThumukunta <vidya.thumukunta@ibm.com>
Date:   Wed Jun 24 08:59:19 2026 -0400

    Grpc: Export Display, Show and ShowIdMapper management APIs
    
    Implement gRPC equivalents for the existing DBus management APIs.
    
    This change adds support for:
    - ExportService
      - DisplayExport
      - ShowExports
    - ShowIdMapperService
      - ShowIdMapper
    
    Change-Id: I872d55d7111880912fe8000afe58736e460d1a22
    Signed-off-by: VidyaThumukunta <vidya.thumukunta@ibm.com>


https://salsa.debian.org/api/v4/projects/debian%2Fnfs-ganesha API request failed: 401 Unauthorized at /srv/qa.debian.org/data/vcswatch/vcswatch line 410.
Created: 2026-10-20 Last update: 2026-10-27 12:20
The package has not entered testing even though the delay is over normal
The package has not entered testing even though the 5-day delay is over. Check why.
Created: 2026-10-25 Last update: 2026-10-27 12:19
1 bug tagged patch in the BTS normal
The BTS contains patches fixing 1 bug, consider including or untagging them.
Created: 2026-10-23 Last update: 2026-10-27 12:18
Standards version of the package is outdated. wishlist
The package should be updated to follow the last version of Debian Policy (Standards-Version 4.7.4 instead of 4.7.0).
Created: 2025-02-21 Last update: 2026-10-20 16:31
testing migrations
  • This package will soon be part of the auto-protobuf transition. You might want to ensure that your package is ready for it. You can probably find supplementary information in the debian-release archives or in the corresponding release.debian.org bug.
  • This package will soon be part of the auto-grpc transition. You might want to ensure that your package is ready for it. You can probably find supplementary information in the debian-release archives or in the corresponding release.debian.org bug.
  • excuses:
    • Migration status for nfs-ganesha (9.14-2 to 15.2-1): BLOCKED: Rejected/violates migration policy/introduces a regression
    • Issues preventing migration:
    • ∙ ∙ Updating nfs-ganesha would introduce bugs in testing: #1151706
    • ∙ ∙ Missing build on armhf
    • ∙ ∙ Autopkgtest deferred on armhf: missing arch:armhf build
    • ∙ ∙ Lintian check waiting for test results on armhf - info
    • ∙ ∙ Reproducibility check deferred on armhf: missing builds - info
    • Additional info (not blocking):
    • ∙ ∙ Updating nfs-ganesha will fix bugs in testing: #1150928
    • ∙ ∙ Piuparts tested OK - https://piuparts.debian.org/sid/source/n/nfs-ganesha.html
    • ∙ ∙ Reproduced on amd64 - info
    • ∙ ∙ Reproduced on arm64 - info
    • ∙ ∙ Reproduced on i386 - info
    • ∙ ∙ 7 days old (needed 5 days)
    • Not considered
news
[rss feed]
  • [2026-10-20] Accepted nfs-ganesha 15.2-1 (source) into unstable (Christoph Martin)
  • [2026-10-12] nfs-ganesha 9.14-2 MIGRATED to testing (Debian testing watch)
  • [2026-10-09] Accepted nfs-ganesha 9.14-2 (source) into unstable (Christoph Martin)
  • [2026-07-28] Accepted nfs-ganesha 9.14-1~bpo13+1 (source) into stable-backports (Christoph Martin)
  • [2026-07-25] nfs-ganesha 9.14-1 MIGRATED to testing (Debian testing watch)
  • [2026-07-20] Accepted nfs-ganesha 9.14-1 (source) into unstable (Christoph Martin)
  • [2026-07-14] nfs-ganesha 9.13-1 MIGRATED to testing (Debian testing watch)
  • [2026-06-26] Accepted nfs-ganesha 9.13-1 (source) into unstable (Christoph Martin)
  • [2026-06-25] Accepted nfs-ganesha 9.6-2 (source) into unstable (Christoph Martin)
  • [2026-05-03] Accepted nfs-ganesha 9.6-1~bpo13+1 (source) into stable-backports (Christoph Martin)
  • [2026-04-20] nfs-ganesha 9.6-1 MIGRATED to testing (Debian testing watch)
  • [2026-04-14] Accepted nfs-ganesha 9.6-1 (source) into unstable (Christoph Martin)
  • [2026-03-21] nfs-ganesha 7.3-1 MIGRATED to testing (Debian testing watch)
  • [2026-03-16] Accepted nfs-ganesha 7.3-1 (source) into unstable (Christoph Martin)
  • [2026-03-11] nfs-ganesha 7.0-2 MIGRATED to testing (Debian testing watch)
  • [2026-03-05] Accepted nfs-ganesha 7.0-2 (source) into unstable (Christoph Martin)
  • [2026-03-04] Accepted nfs-ganesha 7.0-1 (source amd64 all) into unstable (Christoph Martin)
  • [2026-01-11] nfs-ganesha 6.5-8 MIGRATED to testing (Debian testing watch)
  • [2026-01-06] Accepted nfs-ganesha 6.5-8~bpo13+1 (source) into stable-backports (Christoph Martin)
  • [2026-01-06] Accepted nfs-ganesha 6.5-8 (source) into unstable (Christoph Martin)
  • [2025-12-22] nfs-ganesha 6.5-7 MIGRATED to testing (Debian testing watch)
  • [2025-12-16] Accepted nfs-ganesha 6.5-7~bpo13+1 (source) into stable-backports (Christoph Martin)
  • [2025-12-16] Accepted nfs-ganesha 6.5-7 (source) into unstable (Christoph Martin)
  • [2025-11-06] Accepted nfs-ganesha 6.5-6~bpo13+1 (source amd64 all) into stable-backports (Debian FTP Masters) (signed by: Christoph Martin)
  • [2025-11-03] nfs-ganesha 6.5-6 MIGRATED to testing (Debian testing watch)
  • [2025-10-29] Accepted nfs-ganesha 6.5-6 (source) into unstable (Christoph Martin)
  • [2025-10-13] nfs-ganesha REMOVED from testing (Debian testing watch)
  • [2025-04-29] nfs-ganesha 6.5-5 MIGRATED to testing (Debian testing watch)
  • [2025-04-18] Accepted nfs-ganesha 6.5-5 (source) into unstable (Christoph Martin)
  • [2025-04-14] Accepted nfs-ganesha 6.5-4 (source) into unstable (Christoph Martin)
  • 1
  • 2
bugs [bug history graph]
  • all: 10
  • RC: 1
  • I&N: 9
  • M&W: 0
  • F&P: 0
  • patch: 1
links
  • homepage
  • lintian (1, 64)
  • buildd: logs, reproducibility, cross
  • popcon
  • browse source code
  • other distros
  • security tracker
ubuntu Ubuntu logo [Information about Ubuntu for Debian Developers]
  • version: 9.14-1
  • 6 bugs (1 patch)

Debian Package Tracker — Copyright 2013-2025 The Distro Tracker Developers
Report problems to the tracker.debian.org pseudo-package in the Debian BTS.
Documentation — Bugs — Git Repository — Contributing