At Sun,  8 Nov 2009 16:15:52 +0900,
Ryusuke Konishi wrote:
> 
> This fixes an -rc1 regression brought by the commit:
> 1cf58fa840472ec7df6bf2312885949ebb308853 ("nilfs2: shorten freeze
> period due to GC in write operation v3").
> 
> Although the patch moved out a function call of
> nilfs_ioctl_move_blocks() to nilfs_ioctl_clean_segments() from
> nilfs_ioctl_prepare_clean_segments(), it didn't move corresponding
> cleanup job needed for the error case.
> 
> This will move the missing cleanup job to the destination function.
> 
> Signed-off-by: Ryusuke Konishi <[email protected]>
> Cc: Jiro SEKIBA <[email protected]>
> ---
>  fs/nilfs2/ioctl.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
> 
> diff --git a/fs/nilfs2/ioctl.c b/fs/nilfs2/ioctl.c
> index 89dd73e..d24057d 100644
> --- a/fs/nilfs2/ioctl.c
> +++ b/fs/nilfs2/ioctl.c
> @@ -467,7 +467,6 @@ int nilfs_ioctl_prepare_clean_segments(struct the_nilfs 
> *nilfs,
>       return 0;
>  
>   failed:
> -     nilfs_remove_all_gcinode(nilfs);
>       printk(KERN_ERR "NILFS: GC failed during preparation: %s: err=%d\n",
>              msg, ret);
>       return ret;
> @@ -556,6 +555,8 @@ static int nilfs_ioctl_clean_segments(struct inode 
> *inode, struct file *filp,
>       else
>               ret = nilfs_clean_segments(inode->i_sb, argv, kbufs);
>  
> +     if (ret < 0)
> +             nilfs_remove_all_gcinode(nilfs);
>       clear_nilfs_gc_running(nilfs);
>  
>   out_free:
> -- 
> 1.6.3.4
> 
> _______________________________________________
> users mailing list
> [email protected]
> https://www.nilfs.org/mailman/listinfo/users
> 
> 
> 

Looks OK to me.

Acked-by: Jiro SEKIBA <[email protected]>

Thanks
-- 
Jiro SEKIBA <[email protected]>
_______________________________________________
users mailing list
[email protected]
https://www.nilfs.org/mailman/listinfo/users

Reply via email to