btrfs-progs: recursive defrag cleanup duplicate code

Signed-off-by: Anand Jain <anand.jain@oracle.com>
Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
Anand Jain 2016-12-06 12:39:38 +08:00 committed by David Sterba
parent d62902e95b
commit 8e2bd38f29

View File

@ -1136,21 +1136,13 @@ static int cmd_filesystem_defrag(int argc, char **argv)
close_file_or_dir(fd, dirstream); close_file_or_dir(fd, dirstream);
continue; continue;
} }
if (recursive) { if (recursive && S_ISDIR(st.st_mode)) {
if (S_ISDIR(st.st_mode)) { ret = nftw(argv[i], defrag_callback, 10,
ret = nftw(argv[i], defrag_callback, 10,
FTW_MOUNT | FTW_PHYS); FTW_MOUNT | FTW_PHYS);
if (ret == ENOTTY) if (ret == ENOTTY)
exit(1); exit(1);
/* errors are handled in the callback */ /* errors are handled in the callback */
ret = 0; 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;
}
} else { } else {
if (defrag_global_verbose) if (defrag_global_verbose)
printf("%s\n", argv[i]); printf("%s\n", argv[i]);