Module Name: src Committed By: hannken Date: Fri Mar 20 08:26:01 UTC 2020
Modified Files: src/external/cddl/osnet/dist/uts/common/fs/zfs: zfs_znode.c Log Message: With zfs_netbsd_reclaim() no longer doing an unconditional zil commit dmu_buf_get_user() may return a NULL handle when the znode already disappeared. To generate a diff of this commit: cvs rdiff -u -r1.30 -r1.31 \ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c:1.30 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c:1.31 --- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c:1.30 Sun Feb 23 15:46:38 2020 +++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c Fri Mar 20 08:26:01 2020 @@ -1315,7 +1315,11 @@ zfs_zget_cleaner(zfsvfs_t *zfsvfs, uint6 return (SET_ERROR(EINVAL)); } hdl = dmu_buf_get_user(db); - ASSERT3P(hdl, !=, NULL); + if (hdl == NULL) { + sa_buf_rele(db, NULL); + ZFS_OBJ_HOLD_EXIT(zfsvfs, obj_num); + return (SET_ERROR(EINVAL)); + } zp = sa_get_userdata(hdl); ASSERT3U(zp->z_id, ==, obj_num); sa_buf_rele(db, NULL);