Re: [PATCH] pack-bitmap.c: ensure pack validity for all reuse packs

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

 



Taylor Blau <me@xxxxxxxxxxxx> writes:

> @@ -445,18 +444,6 @@ static int open_midx_bitmap_1(struct bitmap_index *bitmap_git,
>  		}
>  	}
>  
> -	if (midx_preferred_pack(bitmap_git->midx, &preferred_pack) < 0) {
> -		warning(_("could not determine MIDX preferred pack"));
> -		goto cleanup;
> -	}
> -
> -	preferred = bitmap_git->midx->packs[preferred_pack];
> -	if (!is_pack_valid(preferred)) {
> -		warning(_("preferred pack (%s) is invalid"),
> -			preferred->pack_name);
> -		goto cleanup;
> -	}
> -
>  	return 0;

This is a pure removal, not the block of code moved elsewhere.  I am
having a hard time resolving the conflict between this one and what
f34db3f6 (pack-bitmap.c: open and store incremental bitmap layers,
2024-11-19) did to the same part of the file, which is:

@@ -459,13 +478,20 @@ static int open_midx_bitmap_1(struct bitmap_index *bitmap_git,
 		goto cleanup;
 	}
 
-	preferred = bitmap_git->midx->packs[preferred_pack];
+	preferred = nth_midxed_pack(bitmap_git->midx, preferred_pack);
 	if (!is_pack_valid(preferred)) {
 		warning(_("preferred pack (%s) is invalid"),
 			preferred->pack_name);
 		goto cleanup;
 	}
 
+	if (midx->base_midx) {
+		bitmap_git->base = prepare_midx_bitmap_git(midx->base_midx);
+		bitmap_git->base_nr = bitmap_git->base->base_nr + 1;
+	} else {
+		bitmap_git->base_nr = 1;
+	}
+
 	return 0;
 
 cleanup:

Both are from you, and I am guessing that you have tried all of your
topics in flight together, if not the other topics.  I wonder what
we can do better to make sure the work a contributor has already
done (in this case, resolve interaction between two topics) is not
wasted and recreated (possibly incorrectly) by the maintainer.

Thanks.




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux