chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
dfca381
)
automount: try to modprobe autofs4 if its lacking
author
Lennart Poettering
<lennart@poettering.net>
Wed, 19 May 2010 20:30:28 +0000
(22:30 +0200)
committer
Lennart Poettering
<lennart@poettering.net>
Wed, 19 May 2010 20:30:28 +0000
(22:30 +0200)
src/automount.c
patch
|
blob
|
history
diff --git
a/src/automount.c
b/src/automount.c
index 32680461c24612d61ebe15c71a0d6a2169050d66..730b1572c2ddfff4102e6b9c0e7ee61d0b32de2c 100644
(file)
--- 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) {
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);
}
init_autofs_dev_ioctl(¶m);