X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fmain.c;h=ef6e681771914183c4e2d5d792091646b7564d27;hb=81ab0d3c65206140fffafefa6d14e8494edc44cb;hp=2c02217d89b27453b4345832b19a43b4999f99f9;hpb=35b8ca3aaf8cb044ad76675dfcad89e000dd4a5c;p=elogind.git diff --git a/src/main.c b/src/main.c index 2c02217d8..ef6e68177 100644 --- a/src/main.c +++ b/src/main.c @@ -941,27 +941,25 @@ static void test_mtab(void) { } static void test_usr(void) { - struct stat a, b; - bool seperate = false; + bool separate = false; - /* Check that /usr is not a seperate fs */ - - if (lstat("/", &a) >= 0 && lstat("/usr", &b) >= 0) - if (a.st_dev != b.st_dev) - seperate = true; + /* Check that /usr is not a separate fs */ + if (path_is_mount_point("/usr") > 0) + separate = true; /* This check won't work usually during boot, since /usr is * probably not mounted yet, hence let's add a second * check. We just check whether /usr is an empty directory. */ if (dir_is_empty("/usr") > 0) - seperate = true; + separate = true; - if (!seperate) + if (!separate) return; log_warning("/usr appears to be on a different file system than /. This is not supported anymore. " - "Some things will probably break (sometimes even silently) in mysterious ways."); + "Some things will probably break (sometimes even silently) in mysterious ways. " + "Consult http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken for more information."); } int main(int argc, char *argv[]) {