mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2025-05-29 09:54:58 +03:00
metaslab_alloc: make hint BP and DVA const (#17324)
Nothing modifies them, and nothing should, so lets try to enforce that. Sponsored-by: Klara, Inc. Sponsored-by: Wasabi Technology, Inc. Signed-off-by: Rob Norris <rob.norris@klarasystems.com> Reviewed-by: Alexander Motin <mav@FreeBSD.org> Reviewed-by: George Melikov <mail@gmelikov.ru>
This commit is contained in:
parent
49fbdd4533
commit
b2284aedab
@ -81,12 +81,12 @@ uint64_t metaslab_largest_allocatable(metaslab_t *);
|
|||||||
#define METASLAB_ASYNC_ALLOC 0x8
|
#define METASLAB_ASYNC_ALLOC 0x8
|
||||||
|
|
||||||
int metaslab_alloc(spa_t *, metaslab_class_t *, uint64_t, blkptr_t *, int,
|
int metaslab_alloc(spa_t *, metaslab_class_t *, uint64_t, blkptr_t *, int,
|
||||||
uint64_t, blkptr_t *, int, zio_alloc_list_t *, int, const void *);
|
uint64_t, const blkptr_t *, int, zio_alloc_list_t *, int, const void *);
|
||||||
int metaslab_alloc_range(spa_t *, metaslab_class_t *, uint64_t, uint64_t,
|
int metaslab_alloc_range(spa_t *, metaslab_class_t *, uint64_t, uint64_t,
|
||||||
blkptr_t *, int, uint64_t, blkptr_t *, int, zio_alloc_list_t *,
|
blkptr_t *, int, uint64_t, const blkptr_t *, int, zio_alloc_list_t *,
|
||||||
int, const void *, uint64_t *);
|
int, const void *, uint64_t *);
|
||||||
int metaslab_alloc_dva(spa_t *, metaslab_class_t *, uint64_t,
|
int metaslab_alloc_dva(spa_t *, metaslab_class_t *, uint64_t,
|
||||||
dva_t *, int, dva_t *, uint64_t, int, zio_alloc_list_t *, int);
|
dva_t *, int, const dva_t *, uint64_t, int, zio_alloc_list_t *, int);
|
||||||
void metaslab_free(spa_t *, const blkptr_t *, uint64_t, boolean_t);
|
void metaslab_free(spa_t *, const blkptr_t *, uint64_t, boolean_t);
|
||||||
void metaslab_free_concrete(vdev_t *, uint64_t, uint64_t, boolean_t);
|
void metaslab_free_concrete(vdev_t *, uint64_t, uint64_t, boolean_t);
|
||||||
void metaslab_free_dva(spa_t *, const dva_t *, boolean_t);
|
void metaslab_free_dva(spa_t *, const dva_t *, boolean_t);
|
||||||
|
@ -5315,7 +5315,7 @@ metaslab_group_allocatable(spa_t *spa, metaslab_group_t *mg, uint64_t psize,
|
|||||||
|
|
||||||
static int
|
static int
|
||||||
metaslab_alloc_dva_range(spa_t *spa, metaslab_class_t *mc, uint64_t psize,
|
metaslab_alloc_dva_range(spa_t *spa, metaslab_class_t *mc, uint64_t psize,
|
||||||
uint64_t max_psize, dva_t *dva, int d, dva_t *hintdva, uint64_t txg,
|
uint64_t max_psize, dva_t *dva, int d, const dva_t *hintdva, uint64_t txg,
|
||||||
int flags, zio_alloc_list_t *zal, int allocator, uint64_t *actual_psize)
|
int flags, zio_alloc_list_t *zal, int allocator, uint64_t *actual_psize)
|
||||||
{
|
{
|
||||||
metaslab_class_allocator_t *mca = &mc->mc_allocator[allocator];
|
metaslab_class_allocator_t *mca = &mc->mc_allocator[allocator];
|
||||||
@ -5440,7 +5440,7 @@ next:
|
|||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
metaslab_alloc_dva(spa_t *spa, metaslab_class_t *mc, uint64_t psize,
|
metaslab_alloc_dva(spa_t *spa, metaslab_class_t *mc, uint64_t psize,
|
||||||
dva_t *dva, int d, dva_t *hintdva, uint64_t txg, int flags,
|
dva_t *dva, int d, const dva_t *hintdva, uint64_t txg, int flags,
|
||||||
zio_alloc_list_t *zal, int allocator)
|
zio_alloc_list_t *zal, int allocator)
|
||||||
{
|
{
|
||||||
return (metaslab_alloc_dva_range(spa, mc, psize, psize, dva, d, hintdva,
|
return (metaslab_alloc_dva_range(spa, mc, psize, psize, dva, d, hintdva,
|
||||||
@ -5932,7 +5932,7 @@ metaslab_claim_dva(spa_t *spa, const dva_t *dva, uint64_t txg)
|
|||||||
|
|
||||||
int
|
int
|
||||||
metaslab_alloc(spa_t *spa, metaslab_class_t *mc, uint64_t psize, blkptr_t *bp,
|
metaslab_alloc(spa_t *spa, metaslab_class_t *mc, uint64_t psize, blkptr_t *bp,
|
||||||
int ndvas, uint64_t txg, blkptr_t *hintbp, int flags,
|
int ndvas, uint64_t txg, const blkptr_t *hintbp, int flags,
|
||||||
zio_alloc_list_t *zal, int allocator, const void *tag)
|
zio_alloc_list_t *zal, int allocator, const void *tag)
|
||||||
{
|
{
|
||||||
return (metaslab_alloc_range(spa, mc, psize, psize, bp, ndvas, txg,
|
return (metaslab_alloc_range(spa, mc, psize, psize, bp, ndvas, txg,
|
||||||
@ -5942,11 +5942,11 @@ metaslab_alloc(spa_t *spa, metaslab_class_t *mc, uint64_t psize, blkptr_t *bp,
|
|||||||
int
|
int
|
||||||
metaslab_alloc_range(spa_t *spa, metaslab_class_t *mc, uint64_t psize,
|
metaslab_alloc_range(spa_t *spa, metaslab_class_t *mc, uint64_t psize,
|
||||||
uint64_t max_psize, blkptr_t *bp, int ndvas, uint64_t txg,
|
uint64_t max_psize, blkptr_t *bp, int ndvas, uint64_t txg,
|
||||||
blkptr_t *hintbp, int flags, zio_alloc_list_t *zal, int allocator,
|
const blkptr_t *hintbp, int flags, zio_alloc_list_t *zal, int allocator,
|
||||||
const void *tag, uint64_t *actual_psize)
|
const void *tag, uint64_t *actual_psize)
|
||||||
{
|
{
|
||||||
dva_t *dva = bp->blk_dva;
|
dva_t *dva = bp->blk_dva;
|
||||||
dva_t *hintdva = (hintbp != NULL) ? hintbp->blk_dva : NULL;
|
const dva_t *hintdva = (hintbp != NULL) ? hintbp->blk_dva : NULL;
|
||||||
int error = 0;
|
int error = 0;
|
||||||
|
|
||||||
ASSERT0(BP_GET_LOGICAL_BIRTH(bp));
|
ASSERT0(BP_GET_LOGICAL_BIRTH(bp));
|
||||||
|
Loading…
Reference in New Issue
Block a user