]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
libafs: dont handle outstatus on write error
authorDerrick Brashear <shadow@dementix.org>
Wed, 15 Feb 2012 02:58:09 +0000 (21:58 -0500)
committerDerrick Brashear <shadow@dementix.org>
Mon, 28 May 2012 14:34:28 +0000 (07:34 -0700)
if a write errored, we can't trust the OutStatus we got. don't.

Reviewed-on: http://gerrit.openafs.org/6714
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
(cherry picked from commit 4c8a3cd789a8495d0c0b3f8ff1a7ebb2a20f5336)

Change-Id: I69b26330aca2e5fd0d2092b579a0fcf1514acb53
Reviewed-on: http://gerrit.openafs.org/7483
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
src/afs/afs_fetchstore.c

index 34736469eb0e1049e9133e1e13296776c2c0e053..6746f1b4ffd017a48e7c7a5338cb55b5c37c22bd 100644 (file)
@@ -540,6 +540,7 @@ afs_CacheStoreDCaches(struct vcache *avc, struct dcache **dclist,
 
     if (!code) {
        code = (*ops->close)(rock, OutStatus, doProcessFS);
+       /* if this succeeds, dv has been bumped. */
        if (*doProcessFS) {
            hadd32(*anewDV, 1);
        }
@@ -547,6 +548,11 @@ afs_CacheStoreDCaches(struct vcache *avc, struct dcache **dclist,
     }
     if (ops)
        code = (*ops->destroy)(&rock, code);
+
+    /* if we errored, can't trust this. */
+    if (code)
+       *doProcessFS = 0;
+
     return code;
 }