OpenAFS Master Repository branch, master, updated. openafs-devel-1_5_74_1-110-g44da0b3
Gerrit Code Review
gerrit@openafs.org
Mon, 17 May 2010 05:38:02 -0700 (PDT)
The following commit has been merged in the master branch:
commit 44da0b32ee192017a080e26037e4f4b18e90717c
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date: Sun Apr 25 20:14:02 2010 +0100
Demand-Attach: Remove dangerous trailing else
Change 9aa09f5e634db8a8b2dedf3a749f2a90ef206e2f introduced a
dangerous trailing else into the VScheduleSalvage_r function:
#ifdef A
if (foo) {
...
} else
#endif
#ifdef B
if (bar) {
...
}
#endif
something_else()
In a situation where we have A && !B, then something_else() ends up
only being run when foo is false. Given that something_else() is
VOL_LOCK, this will not end well.
In the real world, we hit this problen when we build the volume
package with SALVSYNC_BUILD_CLIENT and !FSYNC_BUILD_CLIENT - in
other words, whilst building the fileserver.
Change-Id: I97e07a6e730df8ac480d295b4cf30b0695ace511
Reviewed-on: http://gerrit.openafs.org/1832
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
src/vol/volume.c | 70 ++++++++++++++++++++++++++++++++++-------------------
1 files changed, 45 insertions(+), 25 deletions(-)
--
OpenAFS Master Repository