Hi,
On Tue, 18 Aug 2009 14:58:24 +0800, Zhang Qiang wrote:
> 'ns_cno' of structure 'the_nilfs' must be protected from segment writer, in 
> other words, 
> the caller of nilfs_get_check_point should hold read lock for 
> nilfs->ns_segctor_sem. 
> This patch adds the lock/unlock operations in nilfs_attach_checkpoint() when 
> calling 
> nilfs_cpfile_get_checkpoint().
> 
> Signed-off-by: Zhang Qiang <[email protected]>
> 
> ---
>  fs/nilfs2/super.c |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
> 
> diff --git a/fs/nilfs2/super.c b/fs/nilfs2/super.c
> index 05174c5..55f3d6b 100644
> --- a/fs/nilfs2/super.c
> +++ b/fs/nilfs2/super.c
> @@ -371,8 +371,10 @@ int nilfs_attach_checkpoint(struct nilfs_sb_info *sbi, 
> __u64 cno)
>       if (unlikely(err))
>               goto failed;
>  
> +     down_read(&nilfs->ns_segctor_sem);
>       err = nilfs_cpfile_get_checkpoint(nilfs->ns_cpfile, cno, 0, &raw_cp,
>                                         &bh_cp);
> +     up_read(&nilfs->ns_segctor_sem);
>       if (unlikely(err)) {
>               if (err == -ENOENT || err == -EINVAL) {
>                       printk(KERN_ERR
> -- 
> 1.6.0.6

Yeah, this is necessary.

Will be applied. Thank you.

Ryusuke Konishi
_______________________________________________
users mailing list
[email protected]
https://www.nilfs.org/mailman/listinfo/users

Reply via email to