From: Lennart Poettering Date: Wed, 19 May 2010 20:30:28 +0000 (+0200) Subject: automount: try to modprobe autofs4 if its lacking X-Git-Tag: v1~310 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=ca9a0317a45f8a4ab702e9b8ce4542d8452a47ad;ds=sidebyside automount: try to modprobe autofs4 if its lacking --- diff --git a/src/automount.c b/src/automount.c index 32680461c..730b1572c 100644 --- a/src/automount.c +++ b/src/automount.c @@ -276,8 +276,18 @@ static int open_dev_autofs(Manager *m) { return m->dev_autofs_fd; if ((m->dev_autofs_fd = open("/dev/autofs", O_CLOEXEC|O_RDONLY)) < 0) { - log_error("Failed to open /dev/autofs: %s", strerror(errno)); - return -errno; + + if (errno == ENOENT || errno == ENODEV) { + log_error("Your kernel apparently lacks built-in autofs4 support. Please fix that. " + "We'll now try to work around this by calling 'modprobe autofs4'..."); + system("/sbin/modprobe -q -- autofs4"); + m->dev_autofs_fd = open("/dev/autofs", O_CLOEXEC|O_RDONLY); + } + + if (m->dev_autofs_fd < 0) { + log_error("Failed to open /dev/autofs: %s", strerror(errno)); + return -errno; + } } init_autofs_dev_ioctl(¶m);