Skip to content
  • Ryan Ding's avatar
    ocfs2: add ocfs2_write_type_t type to identify the caller of write · c1ad1e3c
    Ryan Ding authored
    
    
    Patchset: fix ocfs2 direct io code patch to support sparse file and data
    ordering semantics
    
    The idea is to use buffer io(more precisely use the interface
    ocfs2_write_begin_nolock & ocfs2_write_end_nolock) to do the zero work
    beyond block size.  And clear UNWRITTEN flag until direct io data has
    been written to disk, which can prevent data corruption when system
    crashed during direct write.
    
    And we will also archive a better performance: eg.  dd direct write new
    file with block size 4KB: before this patchset:
      2.5 MB/s
    after this patchset:
      66.4 MB/s
    
    This patch (of 8):
    
    To support direct io in ocfs2_write_begin_nolock &
    ocfs2_write_end_nolock.
    
    Remove unused args filp & flags.  Add new arg type.  The type is one of
    buffer/direct/mmap.  Indicate 3 way to perform write.  buffer/mmap type
    has implemented.  direct type will be implemented later.
    
    Signed-off-by: default avatarRyan Ding <ryan.ding@oracle.com>
    Reviewed-by: default avatarJunxiao Bi <junxiao.bi@oracle.com>
    Cc: Joseph Qi <joseph.qi@huawei.com>
    Cc: Mark Fasheh <mfasheh@suse.de>
    Cc: Joel Becker <jlbec@evilplan.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    c1ad1e3c