public inbox for linux-nfs@vger.kernel.org
 help / color / mirror / Atom feed
* [nfs-utils] "blkmapd open pipe file /run/rpc_pipefs/nfs/blocklayout failed" and handling of nfs-blkmap.service service
@ 2026-01-11 14:17 Salvatore Bonaccorso
  2026-01-14  6:36 ` Christoph Hellwig
  0 siblings, 1 reply; 7+ messages in thread
From: Salvatore Bonaccorso @ 2026-01-11 14:17 UTC (permalink / raw)
  To: linux-nfs, Scott Mayhew, Steve Dickson

Hi all,

This is triggered by an older bugreport in Debian found at
https://bugs.debian.org/1009106 . 

In Debian we ship packages with nfs-blkmap.service installed and
enabled via the nfs-common package to be used on NFS clients. The
manpage of nfs.systemd(7) states:

       nfs-blkmap.service
              The blkmapd daemon is only required on NFS clients which are  us‐
              ing  pNFS  (parallel NFS), and particularly using the blocklayout
              layout protocol.  If you might use this particular  extension  to
              NFS, the nfs-blkmap.service unit should be enabled.

In Debian we ship this enabled by default as the following holds: The
systemd service even one does not use pNFS, without the blocklayout
module layouut protocol still starts without problem:

root@sid:~# systemctl status nfs-blkmap.service 
● nfs-blkmap.service - pNFS block layout mapping daemon
     Loaded: loaded (/usr/lib/systemd/system/nfs-blkmap.service; enabled; preset: enabled)
     Active: active (running) since Sun 2026-01-11 14:56:12 CET; 29s ago
 Invocation: 6bb055c1850a40d8bd2cc5841e92c3b9
       Docs: man:blkmapd(8)
    Process: 880 ExecStart=/usr/sbin/blkmapd (code=exited, status=0/SUCCESS)
   Main PID: 898 (blkmapd)
      Tasks: 1 (limit: 4668)
     Memory: 388K (peak: 2M)
        CPU: 4ms
     CGroup: /system.slice/nfs-blkmap.service
             └─898 /usr/sbin/blkmapd

Jan 11 14:56:12 sid systemd[1]: Starting nfs-blkmap.service - pNFS block layout mapping daemon...
Jan 11 14:56:12 sid blkmapd[898]: open pipe file /run/rpc_pipefs/nfs/blocklayout failed: No such file or directory
Jan 11 14:56:12 sid systemd[1]: Started nfs-blkmap.service - pNFS block layout mapping daemon.
root@sid:~#

The service an the blkmapd deamon is started.

What though seems irritating people is the error level message:

blkmapd[806]: open pipe file /run/rpc_pipefs/nfs/blocklayout failed: No such file or directory

As far I understand though this is mostly "harmless", because
42a065968d0f ("blkmapd: allow blocklayoutdriver module to
load/unload") did allow to blocklayoutdriver module to load/unload,
and if that is done the the pipe file is created or deleted
accordinly:

root@sid:~# modprobe blocklayoutdriver 
root@sid:~# ls -l /run/rpc_pipefs/nfs/blocklayout 
prw------- 1 root root 0 Jan 11 14:57 /run/rpc_pipefs/nfs/blocklayout
root@sid:~# systemctl status nfs-blkmap.service 
● nfs-blkmap.service - pNFS block layout mapping daemon
     Loaded: loaded (/usr/lib/systemd/system/nfs-blkmap.service; enabled; preset: enabled)
     Active: active (running) since Sun 2026-01-11 14:56:12 CET; 1min 27s ago
 Invocation: 6bb055c1850a40d8bd2cc5841e92c3b9
       Docs: man:blkmapd(8)
    Process: 880 ExecStart=/usr/sbin/blkmapd (code=exited, status=0/SUCCESS)
   Main PID: 898 (blkmapd)
      Tasks: 1 (limit: 4668)
     Memory: 640K (peak: 2M)
        CPU: 4ms
     CGroup: /system.slice/nfs-blkmap.service
             └─898 /usr/sbin/blkmapd

Jan 11 14:56:12 sid systemd[1]: Starting nfs-blkmap.service - pNFS block layout mapping daemon...
Jan 11 14:56:12 sid blkmapd[898]: open pipe file /run/rpc_pipefs/nfs/blocklayout failed: No such file or directory
Jan 11 14:56:12 sid systemd[1]: Started nfs-blkmap.service - pNFS block layout mapping daemon.
Jan 11 14:57:21 sid blkmapd[898]: blocklayout pipe file created
root@sid:~#

(if the module is unloaded, then accordingly the pipe file will be
deleted and the service keeps running, and loading the
blocklayoutdriver will create the pipe if I understand the upstream
Linux change fe0a9b740881 ("pnfsblock: add device operations")
correctly, which is in since 3.1-rc1).

In utils/blkmapd/device-discovery.c 

555     /* open pipe file */
556     bl_watch_dir(rpcpipe_dir, &rpc_pipedir_wfd);
557     bl_watch_dir(nfspipe_dir, &nfs_pipedir_wfd);
558
559     bl_pipe_fd = open(bl_pipe_file, O_RDWR);
560     if (bl_pipe_fd < 0)
561         BL_LOG_ERR("open pipe file %s failed: %s\n", bl_pipe_file, strerror(errno));

As the pipe is created and deleted when the blocklayoutdriver is
loaded or unloaded, should the above really be ad error log level? Is
it needed at all?

For Debian purposes at least I would like to make things bit less
irritating for users, keep ideally the service enabled by default, so
that administraors whant to make use of pNFS setup with the
blocklayout layout protocol, they just need to make the module load.

Does that sound sensible? It looks at least Ubuntu is handling it
similarly (but the package is mostly synced from Debian here, with
some Ubuntu specific modification, but not in the handling of the 
nfs-blkmap.service  service). As far I understand Fedora ships the
service in the nfsv4-client-utils specific package.

Regards,
Salvatore

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2026-01-26 13:37 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-11 14:17 [nfs-utils] "blkmapd open pipe file /run/rpc_pipefs/nfs/blocklayout failed" and handling of nfs-blkmap.service service Salvatore Bonaccorso
2026-01-14  6:36 ` Christoph Hellwig
2026-01-14 12:21   ` Scott Mayhew
2026-01-14 14:54   ` [nfs-utils PATCH] Rename CONFIG_NFSV41 to CONFIG_BLKMAPD and disable by default Scott Mayhew
2026-01-15 16:09     ` Christoph Hellwig
2026-01-15 16:16     ` Salvatore Bonaccorso
2026-01-26 13:37     ` Steve Dickson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox