afs_bypasscache: parameters of afs_ReadNoCache can't be null
authorGarrett Wollman <wollman@csail.mit.edu>
Mon, 23 Jul 2012 02:57:41 +0000 (22:57 -0400)
committerDerrick Brashear <shadow@dementix.org>
Tue, 24 Jul 2012 12:22:57 +0000 (05:22 -0700)
The first two parameters of afs_ReadNoCache() are unconditionally
indirected through, and all existing callers appear to guarantee
that these parameters are in fact non-null, so annotate the function
declaration to so indicate, and remove the one test that checks
whether avc (the first parameter) is null.  I suspect that acred
cannot be null either, but this code does not appear to depend on
that, so it's not included in the non-null annotation.

Change-Id: I496c868ffcbc9b894f91578019bc30bf7b14fefd
Reviewed-on: http://gerrit.openafs.org/7837
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>

src/afs/afs_bypasscache.c
src/afs/afs_bypasscache.h

index dd6ff1c..18d6d6c 100644 (file)
@@ -492,7 +492,7 @@ afs_ReadNoCache(struct vcache *avc,
     /* the reciever will free this */
     areq = osi_Alloc(sizeof(struct vrequest));
 
-    if (avc && avc->vc_error) {
+    if (avc->vc_error) {
        code = EIO;
        afs_warn("afs_ReadNoCache VCache Error!\n");
        goto cleanup;
index 2a86eac..5b6d220 100644 (file)
@@ -132,7 +132,7 @@ void afs_TransitionToCaching(struct vcache *, afs_ucred_t *, int);
 /* dispatch a no-cache read request */
 afs_int32
 afs_ReadNoCache(struct vcache *avc, struct nocache_read_request *bparms,
-               afs_ucred_t *acred);
+               afs_ucred_t *acred) AFS_NONNULL((1,2));
 
 /* no-cache prefetch routine */
 afs_int32