diff options
author | jeff <jeff@FreeBSD.org> | 2008-03-31 07:47:08 +0000 |
---|---|---|
committer | jeff <jeff@FreeBSD.org> | 2008-03-31 07:47:08 +0000 |
commit | 5e4f326d87a3ff8fcfa0d54104443f7c36248506 (patch) | |
tree | 46d0b334f810035210924641173871b00bdf08b1 /sys/kern/kern_sig.c | |
parent | bd1adacdf1e555a14b1b6382c42a0bbfe1fbb3ed (diff) | |
download | FreeBSD-src-5e4f326d87a3ff8fcfa0d54104443f7c36248506.zip FreeBSD-src-5e4f326d87a3ff8fcfa0d54104443f7c36248506.tar.gz |
- Don't free snapdata structures when they are no longer in use.
Keeping the lockmgr lock valid allows us to switch the v_lock pointer
in snapshot vnodes between the embedded lockmgr lock and snapdata
lock without needing the vnode interlock to protect against races
- Keep unused snapdata structures in a list.
- Add a function to lock the devvp and allocate a snapdata to it or
acquire a new one without races. The old function was safe from
creation races because we set the mount flag when creating snapshots
and thus serializing them. However, it might have been subject to
destroying races.
Reviewed by: tegge
Diffstat (limited to 'sys/kern/kern_sig.c')
0 files changed, 0 insertions, 0 deletions