X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=daemon%2Fguestfsd.c;h=9375ede2785481718f4067fe5db68eea0bee3a98;hb=9c75b1554b5121a7d2b24b99badd1333769a9555;hp=db0bff926de99cb89d4003e6c5ed3c9a9917aa42;hpb=83eb2cf2fddbe3e06f50c18d5e651853f8d86813;p=libguestfs.git diff --git a/daemon/guestfsd.c b/daemon/guestfsd.c index db0bff9..9375ede 100644 --- a/daemon/guestfsd.c +++ b/daemon/guestfsd.c @@ -976,5 +976,25 @@ device_name_translation (char *device, const char *func) void udev_settle (void) { - command (NULL, NULL, "/sbin/udevadm", "settle", NULL); + static int which_prog = 0; + + if (which_prog == 0) { + if (access ("/sbin/udevsettle", X_OK) == 0) + which_prog = 2; + else if (access ("/sbin/udevadm", X_OK) == 0) + which_prog = 1; + else + which_prog = 3; + } + + switch (which_prog) { + case 1: + command (NULL, NULL, "/sbin/udevadm", "settle", NULL); + break; + case 2: + command (NULL, NULL, "/sbin/udevsettle", NULL); + break; + default: + ; + } }