Lines Matching refs:da

52 write_record(struct diffarg *da)  in write_record()  argument
56 if (da->da_ddr.ddr_type == DDR_NONE) { in write_record()
57 da->da_err = 0; in write_record()
61 da->da_err = vn_rdwr(UIO_WRITE, da->da_vp, (caddr_t)&da->da_ddr, in write_record()
62 sizeof (da->da_ddr), 0, UIO_SYSSPACE, FAPPEND, in write_record()
64 *da->da_offp += sizeof (da->da_ddr); in write_record()
65 return (da->da_err); in write_record()
69 report_free_dnode_range(struct diffarg *da, uint64_t first, uint64_t last) in report_free_dnode_range() argument
72 if (da->da_ddr.ddr_type != DDR_FREE || in report_free_dnode_range()
73 first != da->da_ddr.ddr_last + 1) { in report_free_dnode_range()
74 if (write_record(da) != 0) in report_free_dnode_range()
75 return (da->da_err); in report_free_dnode_range()
76 da->da_ddr.ddr_type = DDR_FREE; in report_free_dnode_range()
77 da->da_ddr.ddr_first = first; in report_free_dnode_range()
78 da->da_ddr.ddr_last = last; in report_free_dnode_range()
81 da->da_ddr.ddr_last = last; in report_free_dnode_range()
86 report_dnode(struct diffarg *da, uint64_t object, dnode_phys_t *dnp) in report_dnode() argument
90 return (report_free_dnode_range(da, object, object)); in report_dnode()
92 if (da->da_ddr.ddr_type != DDR_INUSE || in report_dnode()
93 object != da->da_ddr.ddr_last + 1) { in report_dnode()
94 if (write_record(da) != 0) in report_dnode()
95 return (da->da_err); in report_dnode()
96 da->da_ddr.ddr_type = DDR_INUSE; in report_dnode()
97 da->da_ddr.ddr_first = da->da_ddr.ddr_last = object; in report_dnode()
100 da->da_ddr.ddr_last = object; in report_dnode()
113 struct diffarg *da = arg; in diff_cb() local
126 err = report_free_dnode_range(da, dnobj, in diff_cb()
149 err = report_dnode(da, dnobj, blk+i); in diff_cb()
166 struct diffarg da; in dmu_diff() local
207 da.da_vp = vp; in dmu_diff()
208 da.da_offp = offp; in dmu_diff()
209 da.da_ddr.ddr_type = DDR_NONE; in dmu_diff()
210 da.da_ddr.ddr_first = da.da_ddr.ddr_last = 0; in dmu_diff()
211 da.da_err = 0; in dmu_diff()
223 diff_cb, &da); in dmu_diff()
226 da.da_err = error; in dmu_diff()
229 (void) write_record(&da); in dmu_diff()
235 return (da.da_err); in dmu_diff()