Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Skipped - Unit
Tests Skipped
Event Timeline
| sys/ufs/ffs/ffs_vnops.c | ||
|---|---|---|
| 2012 | Don't you also need to check here? | |
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?
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 | ||
|---|---|---|
| 1633–1634 | What should the VOP do if unlock_vp is false and vp == dvp? Right now we're unconditionally unlocking it. | |
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.
| sys/kern/vfs_default.c | ||
|---|---|---|
| 1635 | The comment doesn't seem to match the code in the !unlock_vp case: in that case we release only one reference. | |
| sys/kern/vfs_default.c | ||
|---|---|---|
| 1635 | Yes, if !unlock_vp, I release a single reference. But isn't this what the comment says? | |