[Ocfs2-devel] [PATCH 0/9 v6] ocfs2: support append O_DIRECT write

Joseph Qi joseph.qi at huawei.com
Tue Jan 20 00:01:10 PST 2015


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.




More information about the Ocfs2-devel mailing list