zdb: Fix big parameter passed by value
This is not in performance critical code, but static analyzers will complain about it, so lets switch to pass by pointer here. Reported-by: Coverity (CID-1524384) Reviewed-by: Damian Szuberski <szuberskidamian@gmail.com> Reviewed-by: Alexander Motin <mav@FreeBSD.org> Reviewed-by: Ryan Moeller <ryan@iXsystems.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Richard Yao <richard.yao@alumni.stonybrook.edu> Closes #14263
This commit is contained in:
parent
f1100863f7
commit
ecccaede68
|
@ -4341,26 +4341,26 @@ dump_l2arc_log_entries(uint64_t log_entries,
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
dump_l2arc_log_blkptr(l2arc_log_blkptr_t lbps)
|
dump_l2arc_log_blkptr(const l2arc_log_blkptr_t *lbps)
|
||||||
{
|
{
|
||||||
(void) printf("|\t\tdaddr: %llu\n", (u_longlong_t)lbps.lbp_daddr);
|
(void) printf("|\t\tdaddr: %llu\n", (u_longlong_t)lbps->lbp_daddr);
|
||||||
(void) printf("|\t\tpayload_asize: %llu\n",
|
(void) printf("|\t\tpayload_asize: %llu\n",
|
||||||
(u_longlong_t)lbps.lbp_payload_asize);
|
(u_longlong_t)lbps->lbp_payload_asize);
|
||||||
(void) printf("|\t\tpayload_start: %llu\n",
|
(void) printf("|\t\tpayload_start: %llu\n",
|
||||||
(u_longlong_t)lbps.lbp_payload_start);
|
(u_longlong_t)lbps->lbp_payload_start);
|
||||||
(void) printf("|\t\tlsize: %llu\n",
|
(void) printf("|\t\tlsize: %llu\n",
|
||||||
(u_longlong_t)L2BLK_GET_LSIZE((&lbps)->lbp_prop));
|
(u_longlong_t)L2BLK_GET_LSIZE(lbps->lbp_prop));
|
||||||
(void) printf("|\t\tasize: %llu\n",
|
(void) printf("|\t\tasize: %llu\n",
|
||||||
(u_longlong_t)L2BLK_GET_PSIZE((&lbps)->lbp_prop));
|
(u_longlong_t)L2BLK_GET_PSIZE(lbps->lbp_prop));
|
||||||
(void) printf("|\t\tcompralgo: %llu\n",
|
(void) printf("|\t\tcompralgo: %llu\n",
|
||||||
(u_longlong_t)L2BLK_GET_COMPRESS((&lbps)->lbp_prop));
|
(u_longlong_t)L2BLK_GET_COMPRESS(lbps->lbp_prop));
|
||||||
(void) printf("|\t\tcksumalgo: %llu\n",
|
(void) printf("|\t\tcksumalgo: %llu\n",
|
||||||
(u_longlong_t)L2BLK_GET_CHECKSUM((&lbps)->lbp_prop));
|
(u_longlong_t)L2BLK_GET_CHECKSUM(lbps->lbp_prop));
|
||||||
(void) printf("|\n\n");
|
(void) printf("|\n\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
dump_l2arc_log_blocks(int fd, l2arc_dev_hdr_phys_t l2dhdr,
|
dump_l2arc_log_blocks(int fd, const l2arc_dev_hdr_phys_t *l2dhdr,
|
||||||
l2arc_dev_hdr_phys_t *rebuild)
|
l2arc_dev_hdr_phys_t *rebuild)
|
||||||
{
|
{
|
||||||
l2arc_log_blk_phys_t this_lb;
|
l2arc_log_blk_phys_t this_lb;
|
||||||
|
@ -4373,13 +4373,13 @@ dump_l2arc_log_blocks(int fd, l2arc_dev_hdr_phys_t l2dhdr,
|
||||||
|
|
||||||
if (!dump_opt['q'])
|
if (!dump_opt['q'])
|
||||||
print_l2arc_log_blocks();
|
print_l2arc_log_blocks();
|
||||||
memcpy(lbps, l2dhdr.dh_start_lbps, sizeof (lbps));
|
memcpy(lbps, l2dhdr->dh_start_lbps, sizeof (lbps));
|
||||||
|
|
||||||
dev.l2ad_evict = l2dhdr.dh_evict;
|
dev.l2ad_evict = l2dhdr->dh_evict;
|
||||||
dev.l2ad_start = l2dhdr.dh_start;
|
dev.l2ad_start = l2dhdr->dh_start;
|
||||||
dev.l2ad_end = l2dhdr.dh_end;
|
dev.l2ad_end = l2dhdr->dh_end;
|
||||||
|
|
||||||
if (l2dhdr.dh_start_lbps[0].lbp_daddr == 0) {
|
if (l2dhdr->dh_start_lbps[0].lbp_daddr == 0) {
|
||||||
/* no log blocks to read */
|
/* no log blocks to read */
|
||||||
if (!dump_opt['q']) {
|
if (!dump_opt['q']) {
|
||||||
(void) printf("No log blocks to read\n");
|
(void) printf("No log blocks to read\n");
|
||||||
|
@ -4391,7 +4391,7 @@ dump_l2arc_log_blocks(int fd, l2arc_dev_hdr_phys_t l2dhdr,
|
||||||
L2BLK_GET_PSIZE((&lbps[0])->lbp_prop);
|
L2BLK_GET_PSIZE((&lbps[0])->lbp_prop);
|
||||||
}
|
}
|
||||||
|
|
||||||
dev.l2ad_first = !!(l2dhdr.dh_flags & L2ARC_DEV_HDR_EVICT_FIRST);
|
dev.l2ad_first = !!(l2dhdr->dh_flags & L2ARC_DEV_HDR_EVICT_FIRST);
|
||||||
|
|
||||||
for (;;) {
|
for (;;) {
|
||||||
if (!l2arc_log_blkptr_valid(&dev, &lbps[0]))
|
if (!l2arc_log_blkptr_valid(&dev, &lbps[0]))
|
||||||
|
@ -4412,7 +4412,7 @@ dump_l2arc_log_blocks(int fd, l2arc_dev_hdr_phys_t l2dhdr,
|
||||||
failed++;
|
failed++;
|
||||||
if (!dump_opt['q']) {
|
if (!dump_opt['q']) {
|
||||||
(void) printf("Invalid cksum\n");
|
(void) printf("Invalid cksum\n");
|
||||||
dump_l2arc_log_blkptr(lbps[0]);
|
dump_l2arc_log_blkptr(&lbps[0]);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -4449,11 +4449,11 @@ dump_l2arc_log_blocks(int fd, l2arc_dev_hdr_phys_t l2dhdr,
|
||||||
(void) printf("lb[%4llu]\tmagic: %llu\n",
|
(void) printf("lb[%4llu]\tmagic: %llu\n",
|
||||||
(u_longlong_t)rebuild->dh_lb_count,
|
(u_longlong_t)rebuild->dh_lb_count,
|
||||||
(u_longlong_t)this_lb.lb_magic);
|
(u_longlong_t)this_lb.lb_magic);
|
||||||
dump_l2arc_log_blkptr(lbps[0]);
|
dump_l2arc_log_blkptr(&lbps[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dump_opt['l'] > 2 && !dump_opt['q'])
|
if (dump_opt['l'] > 2 && !dump_opt['q'])
|
||||||
dump_l2arc_log_entries(l2dhdr.dh_log_entries,
|
dump_l2arc_log_entries(l2dhdr->dh_log_entries,
|
||||||
this_lb.lb_entries,
|
this_lb.lb_entries,
|
||||||
rebuild->dh_lb_count);
|
rebuild->dh_lb_count);
|
||||||
|
|
||||||
|
@ -4531,7 +4531,7 @@ dump_l2arc_header(int fd)
|
||||||
(u_longlong_t)l2dhdr.dh_trim_state);
|
(u_longlong_t)l2dhdr.dh_trim_state);
|
||||||
}
|
}
|
||||||
|
|
||||||
dump_l2arc_log_blocks(fd, l2dhdr, &rebuild);
|
dump_l2arc_log_blocks(fd, &l2dhdr, &rebuild);
|
||||||
/*
|
/*
|
||||||
* The total aligned size of log blocks and the number of log blocks
|
* The total aligned size of log blocks and the number of log blocks
|
||||||
* reported in the header of the device may be less than what zdb
|
* reported in the header of the device may be less than what zdb
|
||||||
|
|
Loading…
Reference in New Issue