dmu_diff.c (219089) | dmu_diff.c (246666) |
---|---|
1/* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE --- 114 unchanged lines hidden (view full) --- 123} 124 125#define DBP_SPAN(dnp, level) \ 126 (((uint64_t)dnp->dn_datablkszsec) << (SPA_MINBLOCKSHIFT + \ 127 (level) * (dnp->dn_indblkshift - SPA_BLKPTRSHIFT))) 128 129/* ARGSUSED */ 130static int | 1/* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE --- 114 unchanged lines hidden (view full) --- 123} 124 125#define DBP_SPAN(dnp, level) \ 126 (((uint64_t)dnp->dn_datablkszsec) << (SPA_MINBLOCKSHIFT + \ 127 (level) * (dnp->dn_indblkshift - SPA_BLKPTRSHIFT))) 128 129/* ARGSUSED */ 130static int |
131diff_cb(spa_t *spa, zilog_t *zilog, const blkptr_t *bp, arc_buf_t *pbuf, | 131diff_cb(spa_t *spa, zilog_t *zilog, const blkptr_t *bp, |
132 const zbookmark_t *zb, const dnode_phys_t *dnp, void *arg) 133{ 134 struct diffarg *da = arg; 135 int err = 0; 136 137 if (issig(JUSTLOOKING) && issig(FORREAL)) 138 return (EINTR); 139 --- 10 unchanged lines hidden (view full) --- 150 return (err); 151 } else if (zb->zb_level == 0) { 152 dnode_phys_t *blk; 153 arc_buf_t *abuf; 154 uint32_t aflags = ARC_WAIT; 155 int blksz = BP_GET_LSIZE(bp); 156 int i; 157 | 132 const zbookmark_t *zb, const dnode_phys_t *dnp, void *arg) 133{ 134 struct diffarg *da = arg; 135 int err = 0; 136 137 if (issig(JUSTLOOKING) && issig(FORREAL)) 138 return (EINTR); 139 --- 10 unchanged lines hidden (view full) --- 150 return (err); 151 } else if (zb->zb_level == 0) { 152 dnode_phys_t *blk; 153 arc_buf_t *abuf; 154 uint32_t aflags = ARC_WAIT; 155 int blksz = BP_GET_LSIZE(bp); 156 int i; 157 |
158 if (dsl_read(NULL, spa, bp, pbuf, 159 arc_getbuf_func, &abuf, ZIO_PRIORITY_ASYNC_READ, 160 ZIO_FLAG_CANFAIL, &aflags, zb) != 0) | 158 if (arc_read(NULL, spa, bp, arc_getbuf_func, &abuf, 159 ZIO_PRIORITY_ASYNC_READ, ZIO_FLAG_CANFAIL, 160 &aflags, zb) != 0) |
161 return (EIO); 162 163 blk = abuf->b_data; 164 for (i = 0; i < blksz >> DNODE_SHIFT; i++) { 165 uint64_t dnobj = (zb->zb_blkid << 166 (DNODE_BLOCK_SHIFT - DNODE_SHIFT)) + i; 167 err = report_dnode(da, dnobj, blk+i); 168 if (err) --- 77 unchanged lines hidden --- | 161 return (EIO); 162 163 blk = abuf->b_data; 164 for (i = 0; i < blksz >> DNODE_SHIFT; i++) { 165 uint64_t dnobj = (zb->zb_blkid << 166 (DNODE_BLOCK_SHIFT - DNODE_SHIFT)) + i; 167 err = report_dnode(da, dnobj, blk+i); 168 if (err) --- 77 unchanged lines hidden --- |