|
From: | Philip Rowlands |
Subject: | Re: cp -v doesn't work correctly under file system mounted through FUSE |
Date: | Fri, 11 Jul 2008 15:48:26 +0100 (BST) |
On Thu, 10 Jul 2008, ¬x¥ô¿Ù wrote:
Normally, cp -rv files > log should list all the files copied in the file 'log'. However, when cp -rv a directory under file system mounted via FUSE, redirect of I/O doesn't work. The verbose output is gone and the log file contains nothing. Also, if I try to read the verbose output of cp command with another program via pipe, it works with local file systems, but not with remote file systems mounted via FUSE, such as sshfs and curlftpfs. However, if I use forkpty in the program, it seems to partially work. Shouldn't --verbose always give output whether the stdout is a tty or not?
Yes, it should. I suspect the filesystem emulation in your FUSE mounts is somehow misbehaving. Perhaps you could perform the following tests both on local disk and FUSE mount, and spot the difference in system calls and responses?
$ mkdir a $ touch a/{x,y,z} $ strace -o /tmp/cp.trace -e trace=desc cp -rv a bHopefully it should be obvious where copying on a FUSE filesystem differs.
Cheers, Phil
[Prev in Thread] | Current Thread | [Next in Thread] |