btrfs-progs: recursive defrag cleanup duplicate code
authorAnand Jain <anand.jain@oracle.com>
Tue, 6 Dec 2016 04:39:38 +0000 (12:39 +0800)
committerDavid Sterba <dsterba@suse.com>
Wed, 14 Dec 2016 14:06:36 +0000 (15:06 +0100)
Signed-off-by: Anand Jain <anand.jain@oracle.com>
Signed-off-by: David Sterba <dsterba@suse.com>
cmds-filesystem.c

index 96bdc40..64b1cc4 100644 (file)
@@ -1136,21 +1136,13 @@ static int cmd_filesystem_defrag(int argc, char **argv)
                        close_file_or_dir(fd, dirstream);
                        continue;
                }
-               if (recursive) {
-                       if (S_ISDIR(st.st_mode)) {
-                               ret = nftw(argv[i], defrag_callback, 10,
+               if (recursive && S_ISDIR(st.st_mode)) {
+                       ret = nftw(argv[i], defrag_callback, 10,
                                                FTW_MOUNT | FTW_PHYS);
-                               if (ret == ENOTTY)
-                                       exit(1);
-                               /* errors are handled in the callback */
-                               ret = 0;
-                       } else {
-                               if (defrag_global_verbose)
-                                       printf("%s\n", argv[i]);
-                               ret = do_defrag(fd, defrag_global_fancy_ioctl,
-                                               &defrag_global_range);
-                               e = errno;
-                       }
+                       if (ret == ENOTTY)
+                               exit(1);
+                       /* errors are handled in the callback */
+                       ret = 0;
                } else {
                        if (defrag_global_verbose)
                                printf("%s\n", argv[i]);