At Wed, 13 Sep 2017 11:53:35 -0400, Ruoxin Jiang wrote: > > [1 <text/plain; UTF-8 (7bit)>] > Hello, > > We are researchers from Columbia University, New York. As part of our > current research we have found some semantic discrepancies between > btrfs and other popular filesystems. > > We have attached two cases. The first one involves an invalid O_DIRECT > write() that fails back to buffered write instead of failing with > error EINVAL. In directory 2, we discovered that btrfs calculates > write_bytes in __btrfs_buffered_write differently from that in > generic_perform_writes in fs/mmap.c. This can cause inconsistent > behavior between btrfs and other filesystems when program invokes the > same writev/write() syscall. > > In each directory, you will find a Readme.md describing the issue and > pointing to the code that may cause the problem. For your convenience, > we also included test programs (min.cpp) and instructions in Readme to > help reproduce the issues. > > We would appreciate very much if you could confirm the two cases at > your conveniences.
I took a look at your test programs, btrfs_issues/{1,2}/min.cpp. It looks very hard to read since you call syscalls in odd ways and all flags are hardcoded as literal hexadecimal numbers. Could rewrite these program to improve readability? In addition, I have two questions about btrfs_issues/1/min.cpp. 1. Why you set 'filename' as the 1st argument of mmap()? 2. What's the purpose of mmap() call? I guess mmap() is not related to issue 1. Thanks, Satoru > > Thanks, > Amy > [2 btrfs_issues.tar.gz <application/x-gzip (base64)>] -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html