[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-nilfs
Subject:    Re: [PATCH] nilfs2: add reader's lock for cno in nilfs_ioctl_sync
From:       Ryusuke Konishi <ryusuke () osrg ! net>
Date:       2010-02-20 12:29:33
Message-ID: 20100220.212933.52196046.ryusuke () osrg ! net
[Download RAW message or body]

On Sat, 20 Feb 2010 19:47:49 +0900, Jiro SEKIBA <jir@unicus.jp> wrote:
> Hi,
> 
> This adds reader's lock for the_nilfs->cno in nilfs_ioctl_sync, 
> for the_nilfs->cno should be proctected by segctor_sem when reading.
> 
> Signed-off-by: Jiro SEKIBA <jir@unicus.jp>
> ---
>  fs/nilfs2/ioctl.c |    6 +++++-
>  1 files changed, 5 insertions(+), 1 deletions(-)
> 
> diff --git a/fs/nilfs2/ioctl.c b/fs/nilfs2/ioctl.c
> index d6b2b83..32d5103 100644
> --- a/fs/nilfs2/ioctl.c
> +++ b/fs/nilfs2/ioctl.c
> @@ -575,13 +575,17 @@ static int nilfs_ioctl_sync(struct inode *inode, struct file *filp,
>  {
>  	__u64 cno;
>  	int ret;
> +	struct the_nilfs *nilfs;
>  
>  	ret = nilfs_construct_segment(inode->i_sb);
>  	if (ret < 0)
>  		return ret;
>  
>  	if (argp != NULL) {
> -		cno = NILFS_SB(inode->i_sb)->s_nilfs->ns_cno - 1;
> +		nilfs = NILFS_SB(inode->i_sb)->s_nilfs;
> +		down_read(&nilfs->ns_segctor_sem);
> +		cno = nilfs->ns_cno - 1;
> +		up_read(&nilfs->ns_segctor_sem);
>  		if (copy_to_user(argp, &cno, sizeof(cno)))
>  			return -EFAULT;
>  	}
> -- 
> 1.5.6.5

Right, this should be applied.

Thanks.

Ryusuke Konishi
--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic