> -----Original Message-----
> From: [email protected] 
> [mailto:[email protected]] On Behalf Of Qu Wenruo
> Sent: Thursday, October 26, 2017 3:29 PM
> To: [email protected]
> Cc: [email protected]
> Subject: [PATCH] btrfs-progs: convert: Open the fs readonly for rollback
> 
> For rollback, we only needs to open the fs to check if it meets the condition 
> to rollback.
> And this RW read makes us failed to rollback btrfs with v2 space cache.
> 
> In fact, we don't even start a transaction during rollback.
> 
> So open the fs RO for rollback, to avoid v2 space cache problem.
> 
> Reported-by: Gu Jinxiang <[email protected]>
> Signed-off-by: Qu Wenruo <[email protected]>
> ---
>  convert/main.c | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/convert/main.c b/convert/main.c index 882daf7ced53..3ec10f233915 
> 100644
> --- a/convert/main.c
> +++ b/convert/main.c
> @@ -1529,7 +1529,13 @@ static int do_rollback(const char *devname)
>               goto free_mem;
>       }
>       fsize = lseek(fd, 0, SEEK_END);
> -     root = open_ctree_fd(fd, devname, 0, OPEN_CTREE_WRITES);
> +
> +     /*
> +      * For rollback, we don't really need write anything into btrfs,
> +      * so open it RO.
> +      * The write part will happen after we close the btrfs.
> +      */
> +     root = open_ctree_fd(fd, devname, 0, 0);
>       if (!root) {
>               error("unable to open ctree");
>               ret = -EIO;

Reviewed-by: Gu JinXiang <[email protected]>
Tested-by: Gu JinXiang <[email protected]>

> --
> 2.14.3
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the 
> body of a message to [email protected]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 



N�Р骒r��y����b�X�肚�v�^�)藓{.n�+�伐�{�n谶�)��骅w*jg�报�����茛j/�赇z罐���2���ㄨ��&�)摺�a囤���G���h��j:+v���w��佶

Reply via email to