
Dharmendra Singh explained with today's FUSE patch , " It is observed that currently in Fuse, for direct writes, we hold inode lock for the full duration of the request. As a result, only one direct write request can proceed on the same file. This, I think is due to various reasons such as serialization needed by USER space fuse implementations/file size issues/write failures. This patch allows parallel writes to proceed on the same file by by holding shared lock on the non-extending writes and exclusive lock on extending writes. "
Benchmarking with FIO is showing very promising results for threaded write tests.
At 32 threads, the performance was as much as a 630% improvement or even at four threads was a 42% improvement.