aboutsummaryrefslogtreecommitdiff
path: root/sys/ufs/ufs/inode.h
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2021-01-27 18:10:51 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2021-02-12 01:02:21 +0000
commit30bfb2fa0fad8e5bbcce369df46dcaa2e08324f3 (patch)
tree693ba3a7968915ad1eb5b62a8a75eac3f19595f0 /sys/ufs/ufs/inode.h
parentf2c9d038bdee547be07c8b0404547617b71f2232 (diff)
downloadsrc-30bfb2fa0fad8e5bbcce369df46dcaa2e08324f3.tar.gz
src-30bfb2fa0fad8e5bbcce369df46dcaa2e08324f3.zip
ffs_vput_pair(): try harder to recover from the vnode reclaim
In particular, if unlock_vp is false, save vp's inode number and generation. If ffs_inotovp() can re-create the vnode with the same number and generation after we finished with handling dvp, then we most likely raced with unmount, and were able to restore atomicity of open. We use FFSV_REPLACE_DOOMED there, to drop the old vnode. This additional recovery is not strictly required, but it improves the quality of the implementation. Suggested by: mckusick Reviewed by: chs, mckusick Tested by: pho MFC after: 2 weeks Sponsored by: The FreeBSD Foundation
Diffstat (limited to 'sys/ufs/ufs/inode.h')
0 files changed, 0 insertions, 0 deletions