Diff Detail
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Skipped - Unit
Tests Skipped
Event Timeline
| sys/ufs/ffs/ffs_vnops.c | ||
|---|---|---|
| 2008–2009 | Don't you also need to check here? | |
Comment Actions
Is there some situation in which we expect dvp and vp to be the same, without the caller taking steps to avoid using VOP_VPUT_PAIR() in the first place?
Comment Actions
I hope that no, there is no such case. I wanted to use VOP_VPUT_PAIR() in some path for the RENAME_EXCHANGE path but it requires more generic behavior.
| sys/kern/vfs_default.c | ||
|---|---|---|
| 1642–1643 | What should the VOP do if unlock_vp is false and vp == dvp? Right now we're unconditionally unlocking it. | |
Comment Actions
Clean up the case dvp == vp && !unlock_vp.
Add comment to vop_stdvput_pair() explaining the intent.
Change vrele() to vunref() for locked vnode, but it should be nop since there must be one more use reference.