Linux ocfs2 filesystem development
 help / color / mirror / Atom feed
From: Ryan Ding <ryan.ding@oracle.com>
To: ocfs2-devel@oss.oracle.com
Subject: [Ocfs2-devel] [PATCH 0/8] ocfs2: fix ocfs2 direct io code patch to support sparse file and data ordering semantics
Date: Fri, 11 Sep 2015 16:19:11 +0800	[thread overview]
Message-ID: <1441959559-29947-1-git-send-email-ryan.ding@oracle.com> (raw)

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 patch:
2.5 MB/s
after this patch:
66.4 MB/s

----------------------------------------------------------------
Ryan Ding (8):
      ocfs2: add ocfs2_write_type_t type to identify the caller of write
      ocfs2: use c_new to indicate newly allocated extents
      ocfs2: test target page before change it
      ocfs2: do not change i_size in write_end for direct io
      ocfs2: return the physical address in ocfs2_write_cluster
      ocfs2: record UNWRITTEN extents when populate write desc
      ocfs2: fix sparse file & data ordering issue in direct io. 
      ocfs2: code clean up for direct io

 fs/ocfs2/aops.c        | 1118 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------
 fs/ocfs2/aops.h        |   11 +-
 fs/ocfs2/file.c        |  138 +---------------------
 fs/ocfs2/inode.c       |    3 +
 fs/ocfs2/inode.h       |    3 + 
 fs/ocfs2/mmap.c        |    4 +-
 fs/ocfs2/ocfs2_trace.h |   16 +-- 
 fs/ocfs2/super.c       |    1 +
 8 files changed, 568 insertions(+), 726 deletions(-)

             reply	other threads:[~2015-09-11  8:19 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-11  8:19 Ryan Ding [this message]
2015-09-11  8:19 ` [Ocfs2-devel] [PATCH 1/8] ocfs2: add ocfs2_write_type_t type to identify the caller of write Ryan Ding
2015-09-11  8:19 ` [Ocfs2-devel] [PATCH 2/8] ocfs2: use c_new to indicate newly allocated extents Ryan Ding
2015-09-11  8:19 ` [Ocfs2-devel] [PATCH 3/8] ocfs2: test target page before change it Ryan Ding
2015-09-11  8:19 ` [Ocfs2-devel] [PATCH 4/8] ocfs2: do not change i_size in write_end for direct io Ryan Ding
2015-09-11  8:19 ` [Ocfs2-devel] [PATCH 5/8] ocfs2: return the physical address in ocfs2_write_cluster Ryan Ding
2015-09-11  8:19 ` [Ocfs2-devel] [PATCH 6/8] ocfs2: record UNWRITTEN extents when populate write desc Ryan Ding
2015-09-11  8:19 ` [Ocfs2-devel] [PATCH 7/8] ocfs2: fix sparse file & data ordering issue in direct io Ryan Ding
2015-09-11  8:19 ` [Ocfs2-devel] [PATCH 8/8] ocfs2: code clean up for " Ryan Ding
2015-09-28 10:20 ` [Ocfs2-devel] [PATCH 0/8] ocfs2: fix ocfs2 direct io code patch to support sparse file and data ordering semantics Joseph Qi
2015-10-08  3:12   ` Ryan Ding
2015-10-08  6:13     ` Joseph Qi
2015-10-08  7:13       ` Ryan Ding
2015-10-12  6:34       ` Ryan Ding
2015-12-10  7:54         ` Joseph Qi
2015-12-10  8:48           ` Ryan Ding
2015-12-10 10:36             ` Joseph Qi
2015-12-14  5:31               ` Ryan Ding
2015-12-14 10:36                 ` Joseph Qi
2015-12-16  1:39                   ` Ryan Ding
2015-12-16  2:26                     ` Joseph Qi
2015-12-16  3:12                       ` Ryan Ding

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1441959559-29947-1-git-send-email-ryan.ding@oracle.com \
    --to=ryan.ding@oracle.com \
    --cc=ocfs2-devel@oss.oracle.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox