diff options
author | Mateusz Guzik <mjg@FreeBSD.org> | 2021-01-25 21:28:05 +0000 |
---|---|---|
committer | Mateusz Guzik <mjg@FreeBSD.org> | 2021-01-25 22:40:14 +0000 |
commit | f40d6217f20d69427b58d82ce4e29d88bf4dfbd6 (patch) | |
tree | 7bfd369b0ca8bb40853aefb395f9612de0fcdfde /sys/contrib/openzfs/module | |
parent | 7a1591c1b625ef47a9c9954f0143a6f0d78cc05c (diff) | |
download | src-f40d6217f20d69427b58d82ce4e29d88bf4dfbd6.tar.gz src-f40d6217f20d69427b58d82ce4e29d88bf4dfbd6.zip |
zfs: fix panics with invariant kernels from zfs_replay_setattr
Diffstat (limited to 'sys/contrib/openzfs/module')
-rw-r--r-- | sys/contrib/openzfs/module/zfs/zfs_replay.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/contrib/openzfs/module/zfs/zfs_replay.c b/sys/contrib/openzfs/module/zfs/zfs_replay.c index cba5e8c9cd0b..53c7dbd5df43 100644 --- a/sys/contrib/openzfs/module/zfs/zfs_replay.c +++ b/sys/contrib/openzfs/module/zfs/zfs_replay.c @@ -859,7 +859,12 @@ zfs_replay_setattr(void *arg1, void *arg2, boolean_t byteswap) zfsvfs->z_fuid_replay = zfs_replay_fuid_domain(start, &start, lr->lr_uid, lr->lr_gid); + /* + * Satisfy assertions. + */ + vn_seqc_write_begin(ZTOV(zp)); error = zfs_setattr(zp, vap, 0, kcred); + vn_seqc_write_end(ZTOV(zp)); zfs_fuid_info_free(zfsvfs->z_fuid_replay); zfsvfs->z_fuid_replay = NULL; |