Re: [PATCH v2 4/5] xfs_repair: zero shared_vn

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 1/20/17 4:52 PM, Darrick J. Wong wrote:
> Since shared_vn always has to be zero, zero it at the end of repair.
                                                 ^^^^^^^^^^^^^^^^^^^^

Or at the beginning ;)

> Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
> ---
> v2: reset shared_vn in phase 1 and tell the user about it, per sandeen
> ---
>  repair/phase1.c |   11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/repair/phase1.c b/repair/phase1.c
> index 126d0b3..ee5d3d7 100644
> --- a/repair/phase1.c
> +++ b/repair/phase1.c
> @@ -138,6 +138,17 @@ _("Cannot disable lazy-counters on V5 fs\n"));
>  		}
>  	}
>  
> +	/* shared_vn should be zero */
> +	if (sb->sb_shared_vn) {
> +		if (!no_modify)  {
> +			do_warn(_("resetting shared_vn to zero\n"));
> +			sb->sb_shared_vn = 0;
> +			primary_sb_modified = 1;
> +		} else  {
> +			do_warn(_("would reset shared_vn to zero\n"));
> +		}
> +	}
> +

No other test has the if/else on no modify, they simply say what the problem
is, "correcting" etc, but at the /end/ it says whether or not it's written out:

        if (primary_sb_modified)  {
                if (!no_modify)  {
                        do_warn(_("writing modified primary superblock\n"));
                        write_primary_sb(sb, sb->sb_sectsize);
                } else  {
                        do_warn(_("would write modified primary superblock\n"));
                }
        }

So I think just something like:

+	if (sb->sb_shared_vn) {
+		do_warn(_("superblock has invalid shared_vn, resetting\n"));
+		sb->sb_shared_vn = 0;
+		primary_sb_modified = 1;
+	}

would suffice.

-Eric

>  	if (primary_sb_modified)  {
>  		if (!no_modify)  {
>  			do_warn(_("writing modified primary superblock\n"));
> --
> To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux