]> err.no Git - util-linux/commitdiff
losetup: fix errno usage
authorKarel Zak <kzak@redhat.com>
Thu, 25 Oct 2007 10:10:31 +0000 (12:10 +0200)
committerKarel Zak <kzak@redhat.com>
Mon, 12 Nov 2007 10:54:38 +0000 (11:54 +0100)
Signed-off-by: Karel Zak <kzak@redhat.com>
mount/lomount.c

index ace474cb34b3d8d1505196a393ba3fe35760f555..02548cc2ececcde8e0859bad3822d08ba584effc 100644 (file)
@@ -342,16 +342,19 @@ set_loop(const char *device, const char *file, unsigned long long offset,
        }
 
        if (ioctl(fd, LOOP_SET_FD, ffd) < 0) {
-               close(fd);
-               close(ffd);
+               int rc = 1;
+
                if (errno == EBUSY) {
                        if (verbose)
-                               printf(_("ioctl LOOP_SET_FD failed: %s\n"), strerror(errno));
-                       return 2;
-               } else {
+                               printf(_("ioctl LOOP_SET_FD failed: %s\n"),
+                                                       strerror(errno));
+                       rc = 2;
+               } else
                        perror("ioctl: LOOP_SET_FD");
-                       return 1;
-               }
+
+               close(fd);
+               close(ffd);
+               return rc;
        }
        close (ffd);
 
@@ -386,7 +389,7 @@ set_loop(const char *device, const char *file, unsigned long long offset,
        return 0;
 }
 
-int 
+int
 del_loop (const char *device) {
        int fd;