]> err.no Git - util-linux/commitdiff
mount: revert ugly ENOMEDIUM support
authorKarel Zak <kzak@redhat.com>
Tue, 27 Apr 2010 13:15:11 +0000 (15:15 +0200)
committerKarel Zak <kzak@redhat.com>
Tue, 27 Apr 2010 13:15:11 +0000 (15:15 +0200)
Signed-off-by: Karel Zak <kzak@redhat.com>
include/blkdev.h
lib/fsprobe.c
mount/mount.c

index 98efad681d96d97e26613dae9872bdf554398531..34e4e924ed227604d404fa8df3dddba60b2d4ae0 100644 (file)
@@ -8,9 +8,6 @@
 
 #define DEFAULT_SECTOR_SIZE       512
 
-/* open() retries when errno is ENOMEDIUM */
-#define CRDOM_NOMEDIUM_RETRIES    5
-
 #if !defined(BLKROSET) && defined(__linux__)
 
 #define BLKROSET   _IO(0x12,93)        /* set device read-only (0 = read-write) */
index 8eb08fac837f71b8dc20c9832edce1ff31d6e317..e92e03fc3b03efa5ac6552b3e3d67e8eff8f64c1 100644 (file)
 
 static blkid_cache blcache;
 
-#ifdef HAVE_LIBBLKID_INTERNAL
-/* ask kernel developers why we need such ugly open() method... */
-static int
-open_device(const char *devname)
-{
-       int retries = 0;
-
-       do {
-               int fd = open(devname, O_RDONLY);
-               if (fd >= 0)
-                       return fd;
-               if (errno != ENOMEDIUM)
-                       break;
-               if (retries >= CRDOM_NOMEDIUM_RETRIES)
-                       break;
-               ++retries;
-               sleep(3);
-       } while(1);
-
-       return -1;
-}
-#endif
-
 /*
  * Parses NAME=value, returns -1 on parse error, 0 success. The success is also
  * when the 'spec' doesn't contain name=value pair (because the spec could be
@@ -124,7 +101,7 @@ fsprobe_get_value(const char *name, const char *devname, int *ambi)
 
        if (!devname || !name)
                return NULL;
-       fd = open_device(devname);
+       fd = open(devname, O_RDONLY);
        if (fd < 0)
                return NULL;
        if (!blprobe)
index 8cab2e8a0969503d0f46f925cc609f403c4b9db6..969e81fc3901c84756acd50a40600ca221034ded 100644 (file)
@@ -1346,7 +1346,6 @@ try_mount_one (const char *spec0, const char *node0, const char *types0,
   int loop = 0;
   const char *loopdev = 0, *loopfile = 0;
   struct stat statbuf;
-  int retries = 0;     /* Nr of retries for mount in case of ENOMEDIUM */
 
   /* copies for freeing on exit */
   const char *opts1, *spec1, *node1, *types1, *extra_opts1;
@@ -1412,7 +1411,6 @@ try_mount_one (const char *spec0, const char *node0, const char *types0,
       goto out;
   }
 
-mount_retry:
   block_signals (SIG_BLOCK);
 
   if (!fake) {
@@ -1658,14 +1656,6 @@ mount_retry:
       break;
     }
     case ENOMEDIUM:
-      if (retries < CRDOM_NOMEDIUM_RETRIES) {
-             if (verbose)
-                     printf(_("mount: no medium found on %s ...trying again\n"),
-                                spec);
-              sleep(3);
-             ++retries;
-              goto mount_retry;
-      }
       error(_("mount: no medium found on %s"), spec);
       break;
     default: