From: Miklos S. <mi...@sz...> - 2007-07-17 09:51:00
|
> It seems there may be a bug in FUSE while handling hardlinked pipes. > If the pipe is hardlinked, data going to pipe1 are not visible in pipe2. > > The following bash script works correctly on a native Linux filesystem, > but it hangs (waits for data from the second pipe) on a FUSE-based > filesystem like NTFS-3G. > > #!/bin/bash > trap "echo failed" EXIT; > echo -n "FIFO hardlink (if this waits, bug found)... " > mknod p1 p > ln p1 p2 > RESULT=$(echo -n "test1" > p1 & echo -n "test2" > p2 & head -n1 p2) > if [ "$RESULT" != "test2test1" ]; then > exit 1 > fi > rm -f p1 p2 > echo "ok" > echo "ALL DONE"; > trap "" EXIT; > > Is there any chance to 'workaround' this? Currently all filesystems implemented with the high level API are affected by this and other problems with hard links. And there's no easy way to solve this. How did you notice it? Does some real-world application rely on this behavior? Thanks, Miklos |