btrfs-progs: fix scrub error return from pthread_mutex_lock
[platform/upstream/btrfs-progs.git] / cmds-device.c
index d4938f4..58df6da 100644 (file)
@@ -87,9 +87,8 @@ static int cmd_add_dev(int argc, char **argv)
                }
 
                devfd = open(argv[i], O_RDWR);
-               if (!devfd) {
+               if (devfd < 0) {
                        fprintf(stderr, "ERROR: Unable to open device '%s'\n", argv[i]);
-                       close(devfd);
                        ret++;
                        continue;
                }
@@ -117,8 +116,7 @@ static int cmd_add_dev(int argc, char **argv)
                }
                close(devfd);
 
-               strncpy(ioctl_args.name, argv[i], BTRFS_PATH_NAME_MAX);
-               ioctl_args.name[BTRFS_PATH_NAME_MAX-1] = 0;
+               strncpy_null(ioctl_args.name, argv[i]);
                res = ioctl(fdmnt, BTRFS_IOC_ADD_DEV, &ioctl_args);
                e = errno;
                if(res<0){
@@ -162,8 +160,7 @@ static int cmd_rm_dev(int argc, char **argv)
                struct  btrfs_ioctl_vol_args arg;
                int     res;
 
-               strncpy(arg.name, argv[i], BTRFS_PATH_NAME_MAX);
-               arg.name[BTRFS_PATH_NAME_MAX-1] = 0;
+               strncpy_null(arg.name, argv[i]);
                res = ioctl(fdmnt, BTRFS_IOC_RM_DEV, &arg);
                e = errno;
                if(res<0){
@@ -228,8 +225,7 @@ static int cmd_scan_dev(int argc, char **argv)
 
                printf("Scanning for Btrfs filesystems in '%s'\n", argv[i]);
 
-               strncpy(args.name, argv[i], BTRFS_PATH_NAME_MAX);
-               args.name[BTRFS_PATH_NAME_MAX-1] = 0;
+               strncpy_null(args.name, argv[i]);
                /*
                 * FIXME: which are the error code returned by this ioctl ?
                 * it seems that is impossible to understand if there no is
@@ -299,7 +295,6 @@ static int cmd_dev_stats(int argc, char **argv)
        int fdmnt;
        int i;
        char c;
-       int fdres = -1;
        int err = 0;
        __u64 flags = 0;
 
@@ -394,8 +389,6 @@ static int cmd_dev_stats(int argc, char **argv)
 out:
        free(di_args);
        close(fdmnt);
-       if (fdres > -1)
-               close(fdres);
 
        return err;
 }