Print this page
4047 panic from dbuf_free_range() from dmu_free_object() while doing zfs receive
Reviewed by: Adam Leventhal <ahl@delphix.com>
Reviewed by: George Wilson <george.wilson@delphix.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/fs/zfs/dmu_send.c
          +++ new/usr/src/uts/common/fs/zfs/dmu_send.c
↓ open down ↓ 1224 lines elided ↑ open up ↑
1225 1225                  return (SET_ERROR(EINVAL));
1226 1226  
1227 1227          for (obj = drrfo->drr_firstobj;
1228 1228              obj < drrfo->drr_firstobj + drrfo->drr_numobjs;
1229 1229              (void) dmu_object_next(os, &obj, FALSE, 0)) {
1230 1230                  int err;
1231 1231  
1232 1232                  if (dmu_object_info(os, obj, NULL) != 0)
1233 1233                          continue;
1234 1234  
1235      -                err = dmu_free_object(os, obj);
     1235 +                err = dmu_free_long_object(os, obj);
1236 1236                  if (err != 0)
1237 1237                          return (err);
1238 1238          }
1239 1239          return (0);
1240 1240  }
1241 1241  
1242 1242  static int
1243 1243  restore_write(struct restorearg *ra, objset_t *os,
1244 1244      struct drr_write *drrw)
1245 1245  {
↓ open down ↓ 572 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX