From 4d4dcfb33c5d9fa31c9916e106bee309ec7b4b01 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Wed, 14 Jul 2021 02:58:12 +0100 Subject: blockd: detect mountpoint of /dev/mapper/* If a device cannot be found in /dev, also try /dev/mapper. Signed-off-by: Daniel Golle --- blockd.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/blockd.c b/blockd.c index d6dfeb8..f6973d8 100644 --- a/blockd.c +++ b/blockd.c @@ -89,6 +89,15 @@ _find_mount_point(char *device) mp = find_mount_point(dev, 0); free(dev); + if (mp) + return mp; + + if (asprintf(&dev, "/dev/mapper/%s", device) == -1) + exit(ENOMEM); + + mp = find_mount_point(dev, 0); + free(dev); + return mp; } @@ -584,8 +593,8 @@ static int autofs_mount(void) uloop_timeout_set(&autofs_expire_timer, AUTOFS_EXPIRE_TIMER); - fcntl(fd_autofs_write, F_SETFD, fcntl(fd_autofs_write, F_GETFD) | FD_CLOEXEC); - fcntl(fd_autofs_read.fd, F_SETFD, fcntl(fd_autofs_read.fd, F_GETFD) | FD_CLOEXEC); + fcntl(fd_autofs_write, F_SETFD, fcntl(fd_autofs_write, F_GETFD) | FD_CLOEXEC); + fcntl(fd_autofs_read.fd, F_SETFD, fcntl(fd_autofs_read.fd, F_GETFD) | FD_CLOEXEC); return 0; } -- cgit v1.2.1