[Ocfs2-devel] [PATCH] ocfs2: Update atime in splice read if necessary.

Sunil Mushran sunil.mushran at oracle.com
Fri Jun 19 13:25:53 PDT 2009


Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>

Tao Ma wrote:
> We should call ocfs2_inode_lock_atime instead of ocfs2_inode_lock
> in ocfs2_file_splice_read like we do in ocfs2_file_aio_read so
> that we can update atime in splice read if necessary.
>
> Signed-off-by: Tao Ma <tao.ma at oracle.com>
> ---
>  fs/ocfs2/file.c |    6 +++---
>  1 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c
> index 775ac34..95cba48 100644
> --- a/fs/ocfs2/file.c
> +++ b/fs/ocfs2/file.c
> @@ -2025,7 +2025,7 @@ static ssize_t ocfs2_file_splice_read(struct file *in,
>  				      size_t len,
>  				      unsigned int flags)
>  {
> -	int ret = 0;
> +	int ret = 0, lock_level = 0;
>  	struct inode *inode = in->f_path.dentry->d_inode;
>  
>  	mlog_entry("(0x%p, 0x%p, %u, '%.*s')\n", in, pipe,
> @@ -2036,12 +2036,12 @@ static ssize_t ocfs2_file_splice_read(struct file *in,
>  	/*
>  	 * See the comment in ocfs2_file_aio_read()
>  	 */
> -	ret = ocfs2_inode_lock(inode, NULL, 0);
> +	ret = ocfs2_inode_lock_atime(inode, in->f_vfsmnt, &lock_level);
>  	if (ret < 0) {
>  		mlog_errno(ret);
>  		goto bail;
>  	}
> -	ocfs2_inode_unlock(inode, 0);
> +	ocfs2_inode_unlock(inode, lock_level);
>  
>  	ret = generic_file_splice_read(in, ppos, pipe, len, flags);
>  
>   




More information about the Ocfs2-devel mailing list