Please sign in to comment.
Fix out-of-order ZIL txtype lost on hardlinked files
We should only call zil_remove_async when an object is removed. However, in current implementation, it is called whenever TX_REMOVE is called. In the case of hardlinked file, every unlink will generate TX_REMOVE and causing operations to be dropped even when the object is not removed. We fix this by only calling zil_remove_async when the file is fully unlinked. Reviewed-by: George Wilson <email@example.com> Reviewed-by: Brian Behlendorf <firstname.lastname@example.org> Reviewed-by: Prakash Surya <email@example.com> Signed-off-by: Chunwei Chen <firstname.lastname@example.org> Closes #8769 Closes #9061
- Loading branch information...
Showing with 27 additions and 15 deletions.
- +1 −1 include/sys/zfs_znode.h
- +14 −1 module/zfs/zfs_log.c
- +3 −2 module/zfs/zfs_vnops.c
- +1 −11 module/zfs/zil.c
- +8 −0 tests/zfs-tests/tests/functional/slog/slog_replay_fs.ksh