lkml.org 
[lkml]   [2009]   [Aug]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 13/17] ocfs2: Update syncing after splicing to match generic version
    Date
    Update ocfs2 specific splicing code to use generic syncing helper.

    CC: Joel Becker <Joel.Becker@oracle.com>
    CC: ocfs2-devel@oss.oracle.com
    Signed-off-by: Jan Kara <jack@suse.cz>
    ---
    fs/ocfs2/file.c | 27 ++++++---------------------
    1 files changed, 6 insertions(+), 21 deletions(-)

    diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c
    index 1c71f0a..bd7fdf8 100644
    --- a/fs/ocfs2/file.c
    +++ b/fs/ocfs2/file.c
    @@ -1990,31 +1990,16 @@ static ssize_t ocfs2_file_splice_write(struct pipe_inode_info *pipe,

    if (ret > 0) {
    unsigned long nr_pages;
    + int err;

    - *ppos += ret;
    nr_pages = (ret + PAGE_CACHE_SIZE - 1) >> PAGE_CACHE_SHIFT;

    - /*
    - * If file or inode is SYNC and we actually wrote some data,
    - * sync it.
    - */
    - if (unlikely((out->f_flags & O_SYNC) || IS_SYNC(inode))) {
    - int err;
    -
    - mutex_lock(&inode->i_mutex);
    - err = ocfs2_rw_lock(inode, 1);
    - if (err < 0) {
    - mlog_errno(err);
    - } else {
    - err = generic_osync_inode(inode, mapping,
    - OSYNC_METADATA|OSYNC_DATA);
    - ocfs2_rw_unlock(inode, 1);
    - }
    - mutex_unlock(&inode->i_mutex);
    + err = generic_write_sync(out, *ppos, ret);
    + if (err)
    + ret = err;
    + else
    + *ppos += ret;

    - if (err)
    - ret = err;
    - }
    balance_dirty_pages_ratelimited_nr(mapping, nr_pages);
    }

    --
    1.6.0.2


    \
     
     \ /
      Last update: 2009-08-19 18:11    [W:0.020 / U:31.712 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site