]> git.michaelhowe.org Git - packages/o/openafs.git/commit
DEVEL15-dafs-vnode-locking-20080204
authorTom Keiser <tkeiser@sinenomine.net>
Mon, 4 Feb 2008 18:51:37 +0000 (18:51 +0000)
committerDerrick Brashear <shadow@dementia.org>
Mon, 4 Feb 2008 18:51:37 +0000 (18:51 +0000)
commit343799a424ad84fcb600f9a722de2802dcdbd212
tree5bc6dc4ed9c03ccec472071a001a3475844b18ac
parent3c104051a21a03f6a83709e51469d6dee409628c
DEVEL15-dafs-vnode-locking-20080204

LICENSE IPL10
FIXES 84778

* Vnode package concurrency model was overhauled. Unlike the old model,
where concurrency was controlled via reader/writer locks, the new model
uses a per-vnode finite state automata.
* add several new volume states to deal with volume vnode list operations
* a new FSSYNC command code was added to allow volume utilities to close
out a volume operation without causing the fileserver to mount the volume
* a new FSSYNC command code was added to allow volume utilities to
transition a volume into a hard error state
* the salvageserver has been modified to keep volume group partition
path data coherent with the fileserver (like many other parts of the
volume package, this code assumes all members of the group are stored on
the same vice partition)
* make salvageserver correctly handle volume state when a child worker
process terminates abnormally
* update volume pre-attachment code to deal with move volumes across
partitions on the same server
* add volume state sanity checks to more volume package interfaces
* original vos online patch introduced a race condition; rearchitect vos
online/offline to eliminate race condition, and reduce i/o load caused
by operation
* unify duplicate code in volserver related to servicing vos examine and
vos listvol requests
* add doxygen formatted comment blocks to numerous volume package elements
* various updates to fssync-debug to allow dumping vnode state, and
updates to deal with added volume and vnode states
* several 1.5-specific fixes related to fssync and salvsync

(cherry picked from commit ed25934c1fe96b143715025b49104e75dce9a361)
19 files changed:
src/viced/host.h
src/vol/Makefile.in
src/vol/daemon_com.c
src/vol/daemon_com.h
src/vol/fssync-client.c
src/vol/fssync-debug.c
src/vol/fssync-server.c
src/vol/fssync.h
src/vol/salvaged.c
src/vol/salvsync-client.c
src/vol/salvsync-server.c
src/vol/salvsync.h
src/vol/vnode.c
src/vol/vnode.h
src/vol/vnode_inline.h [new file with mode: 0644]
src/vol/volume.c
src/vol/volume.h
src/vol/volume_inline.h [new file with mode: 0644]
src/volser/volprocs.c