Currently in case of append O_DIRECT write (block not allocated yet), ocfs2 will fall back to buffered I/O. This has some disadvantages. Firstly, it is not the behavior as expected. Secondly, it will consume huge page cache, e.g. in mass backup scenario. Thirdly, modern filesystems such as ext4 support this feature.
In this patch set, the direct I/O write doesn't fallback to buffer I/O write any more because the allocate blocks are enabled in direct I/O now. changelog: v6 <- v5: -- Take Mark's advice to use prefix "dio-" to distinguish dio orphan entry from unlink/rename. -- Take Mark's advice to treat this feature as a ro compat feature. -- Fix a bug in case of not cluster aligned io, cluster_align should be !zero_len, not !!zero_len. -- Fix a bug in case of fallocate with FALLOC_FL_KEEP_SIZE. -- Fix the wrong *ppos and written when completing the rest request using buffer io. Corresponding ocfs2 tools (mkfs.ocfs2, tunefs.ocfs2, fsck.ocfs2, etc.) will be updated later. _______________________________________________ Ocfs2-devel mailing list Ocfs2-devel@oss.oracle.com https://oss.oracle.com/mailman/listinfo/ocfs2-devel