Message ID | 510A2984.6010601@cn.fujitsu.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, Jan 31, 2013 at 04:21:24PM +0800, Chen Yang wrote: > 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. Good catch, thanks. I see that there's no special handling of the '-' filename that usually means stdout. We may want to add this as a common command line usage pattern. david -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
> On Thu, Jan 31, 2013 at 04:21:24PM +0800, Chen Yang wrote: >> 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. > > Good catch, thanks. I see that there's no special handling of the '-' > filename that usually means stdout. We may want to add this as a common > command line usage pattern. > > david > We can touch a file name "-", so I think special handling of the '-' is unnecessary. -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Fri, Feb 01, 2013 at 10:58:33AM +0800, Chen Yang wrote: > > Good catch, thanks. I see that there's no special handling of the '-' > > filename that usually means stdout. We may want to add this as a common > > command line usage pattern. > > > We can touch a file name "-", so I think special handling of the '-' is unnecessary. I want to avoid creating a file named '-'. It would work the same way as 'cat -' etc. david -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/cmds-send.c b/cmds-send.c index 2b9a610..aafa800 100644 --- a/cmds-send.c +++ b/cmds-send.c @@ -429,11 +429,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, "vf:i:p:")) != -1) { switch (c) { case 'v': @@ -497,6 +492,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];
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> --- cmds-send.c | 12 +++++++----- 1 files changed, 7 insertions(+), 5 deletions(-)