On Sat, 02 Aug 2025, John wrote: > I want to modify the nfs-kernel-server package to use nfsdcld for client tracking, but am hitting a snag: I can't figure out why the pipe /var/lib/nfs/rpc_pipefs/nfsd/cld is missing or what creates it. > > Here is my current version: https://github.com/graysky2/packages/commit/c68d0ca16b3b69a0ffcad3dbb20bad58ee49a638 > > I have the lines in the init script to start /usr/sbin/nfsdcld commented out so it can be run manually with the debug option on the shell to see why it fails. What creates the pipe /var/lib/nfs/rpc_pipefs/nfsd/cld and why is it not doing so is the questions I cannot answer. Any insights are appreciated. > > # nfsdcld -F -d > nfsdcld: sqlite_startup_query_grace: current_epoch=1 recovery_epoch=0 > nfsdcld: sqlite_check_db_health: returning 0 > nfsdcld: sqlite_copy_cltrack_records: returning -1 > nfsdcld: sqlite_prepare_dbh: num_cltrack_records = 0 > > nfsdcld: sqlite_prepare_dbh: num_legacy_records = 0 > > nfsdcld: cld_pipe_init: init pipe handlers > nfsdcld: cld_pipe_open: opening upcall pipe /var/lib/nfs/rpc_pipefs/nfsd/cld > nfsdcld: cld_pipe_open: open of /var/lib/nfs/rpc_pipefs/nfsd/cld failed: No such file or directory > nfsdcld: main: Starting event dispatch handler. > It gets created when nfsd starts up (see nfsd4_cld_register_sb() in fs/nfsd/nfs4recover.c). At that point you should see nfsdcld get an inotify event, open the cld file, and continue doing its thing. -Scott