summaryrefslogtreecommitdiff
path: root/cmds-send.c
diff options
context:
space:
mode:
authorChen Yang <chenyang.fnst@cn.fujitsu.com>2013-01-31 16:21:24 +0800
committerDavid Sterba <dsterba@suse.cz>2013-01-31 19:17:06 +0100
commit73355a60aab71a0b7a986b105d74d98d4f592e61 (patch)
treec8bc67faf57bdd53e8209e01488723e7498c02fa /cmds-send.c
parent04af04e64f6da2462e89053898e952ed5849d3ac (diff)
downloadbtrfs-progs-73355a60aab71a0b7a986b105d74d98d4f592e61.tar.gz
Btrfs-prog/send: fix wrong dump_fd check in cmd_send_start()
In cmd_send_start(), there is a check to make sure dump_fd is not a tty before parsing command options. So if we use the option "-f file", it doesn't work for the dump_fd has not been created. So fix it. Signed-off-by: Cheng Yang <chenyang.fnst@cn.fujitsu.com>
Diffstat (limited to 'cmds-send.c')
-rw-r--r--cmds-send.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/cmds-send.c b/cmds-send.c
index 4a8478d..b314c40 100644
--- a/cmds-send.c
+++ b/cmds-send.c
@@ -431,11 +431,6 @@ int cmd_send_start(int argc, char **argv)
memset(&send, 0, sizeof(send));
send.dump_fd = fileno(stdout);
- if (isatty(send.dump_fd)) {
- fprintf(stderr, "ERROR: not dumping send stream into a terminal, redirect it into a file\n");
- return 1;
- }
-
while ((c = getopt(argc, argv, "vc:f:i:p:")) != -1) {
switch (c) {
case 'v':
@@ -508,6 +503,13 @@ int cmd_send_start(int argc, char **argv)
}
}
+ if (isatty(send.dump_fd)) {
+ fprintf(stderr,
+ "ERROR: not dumping send stream into a terminal, "
+ "redirect it into a file\n");
+ return 1;
+ }
+
/* use first send subvol to determine mount_root */
subvol = argv[optind];