From 7acaa18eaa28aeef1928685e829b16f85b87b5d4 Mon Sep 17 00:00:00 2001 From: Tao Ma Date: Thu, 12 Aug 2010 10:27:14 +0800 Subject: [PATCH] --- yaml --- r: 212762 b: refs/heads/master c: b890823635e022467b924e3d9da8c5166a4e349c h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/ocfs2/file.c | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 238eb46a8ada..5bf2f040354d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 0378da0fda6edf5aaffda6f1248a78986bd955b5 +refs/heads/master: b890823635e022467b924e3d9da8c5166a4e349c diff --git a/trunk/fs/ocfs2/file.c b/trunk/fs/ocfs2/file.c index 81296b4e3646..5920159a421f 100644 --- a/trunk/fs/ocfs2/file.c +++ b/trunk/fs/ocfs2/file.c @@ -2053,6 +2053,7 @@ int ocfs2_check_range_for_refcount(struct inode *inode, loff_t pos, } static int ocfs2_prepare_inode_for_refcount(struct inode *inode, + struct file *file, loff_t pos, size_t count, int *meta_level) { @@ -2078,7 +2079,7 @@ static int ocfs2_prepare_inode_for_refcount(struct inode *inode, return ret; } -static int ocfs2_prepare_inode_for_write(struct dentry *dentry, +static int ocfs2_prepare_inode_for_write(struct file *file, loff_t *ppos, size_t count, int appending, @@ -2086,6 +2087,7 @@ static int ocfs2_prepare_inode_for_write(struct dentry *dentry, int *has_refcount) { int ret = 0, meta_level = 0; + struct dentry *dentry = file->f_path.dentry; struct inode *inode = dentry->d_inode; loff_t saved_pos, end; @@ -2141,6 +2143,7 @@ static int ocfs2_prepare_inode_for_write(struct dentry *dentry, meta_level = -1; ret = ocfs2_prepare_inode_for_refcount(inode, + file, saved_pos, count, &meta_level); @@ -2255,7 +2258,7 @@ static ssize_t ocfs2_file_aio_write(struct kiocb *iocb, } can_do_direct = direct_io; - ret = ocfs2_prepare_inode_for_write(file->f_path.dentry, ppos, + ret = ocfs2_prepare_inode_for_write(file, ppos, iocb->ki_left, appending, &can_do_direct, &has_refcount); if (ret < 0) { @@ -2385,7 +2388,7 @@ static int ocfs2_splice_to_file(struct pipe_inode_info *pipe, { int ret; - ret = ocfs2_prepare_inode_for_write(out->f_path.dentry, &sd->pos, + ret = ocfs2_prepare_inode_for_write(out, &sd->pos, sd->total_len, 0, NULL, NULL); if (ret < 0) { mlog_errno(ret);