From b4783c245d233a0883a29241351869d616a9f6a4 Mon Sep 17 00:00:00 2001 From: Marc Dionne Date: Sat, 18 Jul 2009 00:15:01 -0400 Subject: [PATCH] Warning cleanups for kernel module build Take care of various warnings (about 70) during a libafs build. A non-exhaustive list of changes: - Unused variables, in some cases to be IFDEFed along with the code that uses it - Cast some const char * to char * for the afs_* functions - Move afs_UFSCacheFetchProc and afs_UFSCacheStoreProc declarations to afs_prototypes.h - Include afsutil.h in error_msg.c to get strlcpy - Change type of argument 3 in export_sysname, to match what the callers are actually doing - Rework a few lines in pthread_glock.c to avoid a warning about unused value - Fix a warning in rpc_scan.c that really looks like a bug (but probably harmless in our case) Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/151 Reviewed-by: Russ Allbery Tested-by: Russ Allbery --- src/afs/LINUX/osi_file.c | 3 ++- src/afs/LINUX/osi_misc.c | 9 +++++---- src/afs/LINUX/osi_vnodeops.c | 35 ++++++++++++++++++++--------------- src/afs/afs_dcache.c | 11 ----------- src/afs/afs_osi_pag.c | 2 +- src/afs/afs_pag_call.c | 2 +- src/afs/afs_pag_cred.c | 2 +- src/afs/afs_prototypes.h | 11 +++++++++++ src/afs/afs_vcache.c | 6 +++--- src/afs/afs_warn.c | 4 +++- src/afs/exporter.h | 2 +- src/comerr/error_msg.c | 1 + src/des/read_pssword.c | 2 +- src/dir/dir.c | 1 + src/rx/LINUX/rx_knet.c | 10 +++++++--- src/rxgen/rpc_parse.c | 1 + src/rxgen/rpc_scan.c | 2 +- src/util/pthread_glock.c | 6 ++++-- 18 files changed, 64 insertions(+), 46 deletions(-) diff --git a/src/afs/LINUX/osi_file.c b/src/afs/LINUX/osi_file.c index 8777ef0cb..3e819337f 100644 --- a/src/afs/LINUX/osi_file.c +++ b/src/afs/LINUX/osi_file.c @@ -277,7 +277,7 @@ osi_UFSTruncate(register struct osi_file *afile, afs_int32 asize) /* avoid notify_change() since it wants to update dentry->d_parent */ lock_kernel(); code = inode_change_ok(inode, &newattrs); - if (!code) + if (!code) { #ifdef INODE_SETATTR_NOT_VOID #if defined(AFS_LINUX26_ENV) if (inode->i_op && inode->i_op->setattr) @@ -288,6 +288,7 @@ osi_UFSTruncate(register struct osi_file *afile, afs_int32 asize) #else inode_setattr(inode, &newattrs); #endif + } unlock_kernel(); if (!code) truncate_inode_pages(&inode->i_data, asize); diff --git a/src/afs/LINUX/osi_misc.c b/src/afs/LINUX/osi_misc.c index c232f6ae8..a2c97fe23 100644 --- a/src/afs/LINUX/osi_misc.c +++ b/src/afs/LINUX/osi_misc.c @@ -16,16 +16,17 @@ #include /* early to avoid printf->printk mapping */ +#if defined(AFS_LINUX26_ENV) +#include "h/dcache.h" +#include "h/namei.h" +#include "h/kthread.h" +#endif #include "afs/sysincludes.h" #include "afsincludes.h" #include "afs/afs_stats.h" #if defined(AFS_LINUX24_ENV) #include "h/smp_lock.h" #endif -#if defined(AFS_LINUX26_ENV) -#include "h/namei.h" -#include "h/kthread.h" -#endif int afs_osicred_initialized = 0; struct AFS_UCRED afs_osi_cred; diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c index 6f780d332..74ec9ad01 100644 --- a/src/afs/LINUX/osi_vnodeops.c +++ b/src/afs/LINUX/osi_vnodeops.c @@ -101,7 +101,9 @@ afs_linux_read(struct file *fp, char *buf, size_t count, loff_t * offp) struct vcache *vcp = VTOAFS(fp->f_dentry->d_inode); cred_t *credp = crref(); struct vrequest treq; +#if defined(AFS_CACHE_BYPASS) && LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) afs_size_t isize, offindex; +#endif AFS_GLOCK(); afs_Trace4(afs_iclSetp, CM_TRACE_READOP, ICL_TYPE_POINTER, vcp, ICL_TYPE_OFFSET, offp, ICL_TYPE_INT32, count, ICL_TYPE_INT32, @@ -114,15 +116,13 @@ afs_linux_read(struct file *fp, char *buf, size_t count, loff_t * offp) if (code) code = afs_convert_code(code); else { -#if defined(AFS_CACHE_BYPASS) -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) +#if defined(AFS_CACHE_BYPASS) && LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) isize = (i_size_read(fp->f_mapping->host) - 1) >> PAGE_CACHE_SHIFT; offindex = *offp >> PAGE_CACHE_SHIFT; if(offindex > isize) { code=0; goto done; } -#endif #endif osi_FlushPages(vcp, credp); /* ensure stale pages are gone */ AFS_GUNLOCK(); @@ -137,7 +137,9 @@ afs_linux_read(struct file *fp, char *buf, size_t count, loff_t * offp) afs_Trace4(afs_iclSetp, CM_TRACE_READOP, ICL_TYPE_POINTER, vcp, ICL_TYPE_OFFSET, offp, ICL_TYPE_INT32, count, ICL_TYPE_INT32, code); +#if defined(AFS_CACHE_BYPASS) && LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) done: +#endif AFS_GUNLOCK(); crfree(credp); return code; @@ -831,7 +833,7 @@ check_bad_parent(struct dentry *dp) credp = crref(); /* force a lookup, so vcp->mvid is fixed up */ - afs_lookup(pvc, dp->d_name.name, &avc, credp); + afs_lookup(pvc, (char *)dp->d_name.name, &avc, credp); if (!avc || vcp != avc) { /* bad, very bad.. */ afs_Trace4(afs_iclSetp, CM_TRACE_TMP_1S3L, ICL_TYPE_STRING, "check_bad_parent: bad pointer returned from afs_lookup origvc newvc dentry", @@ -991,7 +993,7 @@ afs_linux_dentry_revalidate(struct dentry *dp) if (hgetlo(pvcp->f.m.DataVersion) > dp->d_time || !(vcp->f.states & CStatd)) { credp = crref(); - afs_lookup(pvcp, dp->d_name.name, &tvc, credp); + afs_lookup(pvcp, (char *)dp->d_name.name, &tvc, credp); if (!tvc || tvc != vcp) goto bad_dentry; @@ -1171,7 +1173,7 @@ afs_linux_lookup(struct inode *dip, struct dentry *dp) maybe_lock_kernel(); #endif AFS_GLOCK(); - code = afs_lookup(VTOAFS(dip), comp, &vcp, credp); + code = afs_lookup(VTOAFS(dip), (char *)comp, &vcp, credp); if (vcp) { struct vattr vattr; @@ -1264,7 +1266,7 @@ afs_linux_link(struct dentry *olddp, struct inode *dip, struct dentry *newdp) d_drop(newdp); AFS_GLOCK(); - code = afs_link(VTOAFS(oldip), VTOAFS(dip), name, credp); + code = afs_link(VTOAFS(oldip), VTOAFS(dip), (char *)name, credp); AFS_GUNLOCK(); crfree(credp); @@ -1305,7 +1307,7 @@ afs_linux_unlink(struct inode *dip, struct dentry *dp) } while (__dp->d_inode != NULL); AFS_GLOCK(); - code = afs_rename(VTOAFS(dip), dp->d_name.name, VTOAFS(dip), __dp->d_name.name, credp); + code = afs_rename(VTOAFS(dip), (char *)dp->d_name.name, VTOAFS(dip), (char *)__dp->d_name.name, credp); if (!code) { tvc->mvid = (void *) __name; crhold(credp); @@ -1338,7 +1340,7 @@ afs_linux_unlink(struct inode *dip, struct dentry *dp) } AFS_GLOCK(); - code = afs_remove(VTOAFS(dip), name, credp); + code = afs_remove(VTOAFS(dip), (char *)name, credp); AFS_GUNLOCK(); if (!code) d_drop(dp); @@ -1366,7 +1368,7 @@ afs_linux_symlink(struct inode *dip, struct dentry *dp, const char *target) VATTR_NULL(&vattr); AFS_GLOCK(); - code = afs_symlink(VTOAFS(dip), name, &vattr, target, credp); + code = afs_symlink(VTOAFS(dip), (char *)name, &vattr, (char *)target, credp); AFS_GUNLOCK(); crfree(credp); return afs_convert_code(code); @@ -1388,7 +1390,7 @@ afs_linux_mkdir(struct inode *dip, struct dentry *dp, int mode) vattr.va_mask = ATTR_MODE; vattr.va_mode = mode; AFS_GLOCK(); - code = afs_mkdir(VTOAFS(dip), name, &vattr, &tvcp, credp); + code = afs_mkdir(VTOAFS(dip), (char *)name, &vattr, &tvcp, credp); if (tvcp) { struct inode *ip = AFSTOV(tvcp); @@ -1419,7 +1421,7 @@ afs_linux_rmdir(struct inode *dip, struct dentry *dp) /* locking kernel conflicts with glock? */ AFS_GLOCK(); - code = afs_rmdir(VTOAFS(dip), name, credp); + code = afs_rmdir(VTOAFS(dip), (char *)name, credp); AFS_GUNLOCK(); /* Linux likes to see ENOTEMPTY returned from an rmdir() syscall @@ -1470,7 +1472,7 @@ afs_linux_rename(struct inode *oldip, struct dentry *olddp, #endif AFS_GLOCK(); - code = afs_rename(VTOAFS(oldip), oldname, VTOAFS(newip), newname, credp); + code = afs_rename(VTOAFS(oldip), (char *)oldname, VTOAFS(newip), (char *)newname, credp); AFS_GUNLOCK(); if (!code) @@ -1771,8 +1773,10 @@ afs_linux_readpage(struct file *fp, struct page *pp) #if defined(AFS_CACHE_BYPASS) afs_int32 bypasscache = 0; /* bypass for this read */ struct nocache_read_request *ancr; -#endif +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) afs_int32 isize; +#endif +#endif uio_t *auio; struct iovec *iovecp; struct inode *ip = FILE_INODE(fp); @@ -1916,7 +1920,9 @@ afs_linux_readpage(struct file *fp, struct page *pp) AFS_GUNLOCK(); } +#if defined(AFS_CACHE_BYPASS) done: +#endif crfree(credp); return afs_convert_code(code); } @@ -2175,7 +2181,6 @@ afs_linux_write_end(struct file *file, struct address_space *mapping, struct page *page, void *fsdata) { int code; - pgoff_t index = pos >> PAGE_CACHE_SHIFT; unsigned from = pos & (PAGE_CACHE_SIZE - 1); code = afs_linux_writepage_sync(file->f_dentry->d_inode, page, diff --git a/src/afs/afs_dcache.c b/src/afs/afs_dcache.c index 84e3ab4e8..e36e9d99e 100644 --- a/src/afs/afs_dcache.c +++ b/src/afs/afs_dcache.c @@ -99,16 +99,6 @@ afs_int32 afs_dcentries; /*!< In-memory dcache entries */ int dcacheDisabled = 0; -static int afs_UFSCacheFetchProc(struct rx_call *, struct osi_file *, - afs_size_t, struct dcache *, - struct vcache *, afs_size_t *, - afs_size_t *, afs_int32); - -static int afs_UFSCacheStoreProc(struct rx_call *, struct osi_file *, - afs_int32, struct vcache *, - int *, afs_size_t *, - afs_size_t *); - struct afs_cacheOps afs_UfsCacheOps = { osi_UFSOpen, osi_UFSTruncate, @@ -1468,7 +1458,6 @@ afs_FindDCache(register struct vcache *avc, afs_size_t abyte) } /*afs_FindDCache */ -/* /*! * Get a fresh dcache from the free or discarded list. * diff --git a/src/afs/afs_osi_pag.c b/src/afs/afs_osi_pag.c index 7c30310d5..879cd1d09 100644 --- a/src/afs/afs_osi_pag.c +++ b/src/afs/afs_osi_pag.c @@ -427,7 +427,7 @@ AddPag(afs_int32 aval, struct AFS_UCRED **credpp) int afs_InitReq(register struct vrequest *av, struct AFS_UCRED *acred) { -#ifdef AFS_LINUX26_ENV +#if defined(AFS_LINUX26_ENV) && !defined(AFS_NONFSTRANS) int code; #endif int i = 0; diff --git a/src/afs/afs_pag_call.c b/src/afs/afs_pag_call.c index 7aa7e32bf..10bd34504 100644 --- a/src/afs/afs_pag_call.c +++ b/src/afs/afs_pag_call.c @@ -133,7 +133,7 @@ void afspag_Init(afs_int32 nfs_server_addr) #ifdef RXK_LISTENER_ENV afs_start_thread(rxk_Listener, "Rx Listener"); #endif - afs_start_thread(rx_ServerProc, "Rx Server Thread"); + afs_start_thread((void *)(void *)rx_ServerProc, "Rx Server Thread"); afs_start_thread(afs_rxevent_daemon, "Rx Event Daemon"); afs_start_thread(afs_Daemon, "AFS PAG Daemon"); diff --git a/src/afs/afs_pag_cred.c b/src/afs/afs_pag_cred.c index a96ce8e29..1ecad50a2 100644 --- a/src/afs/afs_pag_cred.c +++ b/src/afs/afs_pag_cred.c @@ -361,7 +361,7 @@ int SPAGCB_GetSysName(struct rx_call *a_call, afs_int32 a_uid, SysNameList *a_sysnames) { - int i; + int i = 0; RX_AFS_GLOCK(); diff --git a/src/afs/afs_prototypes.h b/src/afs/afs_prototypes.h index 836c6d4eb..9a84e0e12 100644 --- a/src/afs/afs_prototypes.h +++ b/src/afs/afs_prototypes.h @@ -320,6 +320,17 @@ extern struct afs_exporter *root_exported; extern struct afs_exporter *exporter_find(int type); extern void shutdown_exporter(void); +/* afs_fetchstore.c */ +extern int afs_UFSCacheFetchProc(struct rx_call *, struct osi_file *, + afs_size_t, struct dcache *, + struct vcache *, afs_size_t *, + afs_size_t *, afs_int32); + +extern int afs_UFSCacheStoreProc(struct rx_call *, struct osi_file *, + afs_int32, struct vcache *, + int *, afs_size_t *, + afs_size_t *); + /* afs_icl.c */ extern struct afs_icl_set *afs_icl_allSets; extern int afs_icl_InitLogs(void); diff --git a/src/afs/afs_vcache.c b/src/afs/afs_vcache.c index be7fc0ea9..a3285ff7c 100644 --- a/src/afs/afs_vcache.c +++ b/src/afs/afs_vcache.c @@ -630,7 +630,7 @@ int afs_ShakeLooseVCaches(afs_int32 anumber) { #if defined(AFS_OSF_ENV) || defined(AFS_LINUX22_ENV) - afs_int32 i, j; + afs_int32 i; struct vcache *tvc; struct afs_q *tq, *uq; int code, fv_slept; @@ -649,8 +649,6 @@ afs_ShakeLooseVCaches(afs_int32 anumber) #endif afs_vcount >= afs_maxvcount ) { - int i; - i = 0; for (tq = VLRU.prev; tq != &VLRU && anumber > 0; tq = uq) { tvc = QTOV(tq); @@ -858,8 +856,10 @@ afs_NewVCache(struct VenusFid *afid, struct server *serverp) #ifdef AFS_AIX_ENV struct gnode *gnodepnt; #endif +#if !defined(AFS_OSF_ENV) && !defined(AFS_LINUX22_ENV) struct afs_q *tq, *uq; int code, fv_slept; +#endif AFS_STATCNT(afs_NewVCache); diff --git a/src/afs/afs_warn.c b/src/afs/afs_warn.c index 1c5f2df13..8666e4973 100644 --- a/src/afs/afs_warn.c +++ b/src/afs/afs_warn.c @@ -114,6 +114,9 @@ afs_warnuser(char *fmt, ...) { AFS_STATCNT(afs_warnuser); if (afs_showflags & GAGUSER) { +#if !defined(AFS_AIX_ENV) + va_list ap; +#endif #ifdef AFS_GLOBAL_SUNLOCK int haveGlock = ISAFS_GLOCK(); if (haveGlock) @@ -123,7 +126,6 @@ afs_warnuser(char *fmt, ...) #if defined(AFS_AIX_ENV) uprintf(fmt, a, b, c, d, e, f, g, h, i); #else - va_list ap; va_start(ap, fmt); afs_vprintf(fmt, ap); diff --git a/src/afs/exporter.h b/src/afs/exporter.h index 9e461c215..4b4aef94f 100644 --- a/src/afs/exporter.h +++ b/src/afs/exporter.h @@ -62,7 +62,7 @@ struct exporterops { void (*export_rele) (struct afs_exporter *exp); int (*export_sysname) (struct afs_exporter *exp, char *inname, - char **outname, + char ***outname, int *num, int allpags); void (*export_garbagecollect) (struct afs_exporter *exp, diff --git a/src/comerr/error_msg.c b/src/comerr/error_msg.c index 23739e835..b00284b60 100644 --- a/src/comerr/error_msg.c +++ b/src/comerr/error_msg.c @@ -16,6 +16,7 @@ #include "error_table.h" #include "mit-sipb-cr.h" #include +#include #include #include "com_err.h" diff --git a/src/des/read_pssword.c b/src/des/read_pssword.c index 26c8fdb05..18fa9e0ec 100644 --- a/src/des/read_pssword.c +++ b/src/des/read_pssword.c @@ -151,7 +151,7 @@ des_read_pw_string(char *s, int maxa, char *prompt, int verify) struct termio ttyb; FILE *fi; char savel, flags; - void (*sig) (); + void (*sig) (int); #endif #endif #ifdef AFS_NT40_ENV diff --git a/src/dir/dir.c b/src/dir/dir.c index 165811ffc..18ab0dac1 100644 --- a/src/dir/dir.c +++ b/src/dir/dir.c @@ -51,6 +51,7 @@ /* afs_buffer.c */ /* These are needed because afs_prototypes.h is not included here */ +struct dcache; extern void *DRead(struct dcache *adc, int page); extern void *DNew(struct dcache *adc, int page); diff --git a/src/rx/LINUX/rx_knet.c b/src/rx/LINUX/rx_knet.c index c26805958..69acc3a8b 100644 --- a/src/rx/LINUX/rx_knet.c +++ b/src/rx/LINUX/rx_knet.c @@ -169,10 +169,11 @@ osi_NetSend(osi_socket sop, struct sockaddr_in *to, struct iovec *iovec, { KERNEL_SPACE_DECL; struct msghdr msg; - int code, sockerr; + int code; +#ifdef ADAPT_PMTU + int sockerr; size_t esize; -#ifdef ADAPT_PMTU while (1) { sockerr=0; esize = sizeof(sockerr); @@ -228,8 +229,11 @@ osi_NetReceive(osi_socket so, struct sockaddr_in *from, struct iovec *iov, { KERNEL_SPACE_DECL; struct msghdr msg; - int code, sockerr; + int code; +#ifdef ADAPT_PMTU + int sockerr; size_t esize; +#endif struct iovec tmpvec[RX_MAXWVECS + 2]; struct socket *sop = (struct socket *)so; diff --git a/src/rxgen/rpc_parse.c b/src/rxgen/rpc_parse.c index a0b4207a8..330aec1eb 100644 --- a/src/rxgen/rpc_parse.c +++ b/src/rxgen/rpc_parse.c @@ -1467,6 +1467,7 @@ ss_ProcParams_setup(definition * defp, int *somefrees) switch (defp1->pc.rel) { case REL_ARRAY: case REL_POINTER: + default: break; } } diff --git a/src/rxgen/rpc_scan.c b/src/rxgen/rpc_scan.c index 73bac1bf7..68be4c909 100644 --- a/src/rxgen/rpc_scan.c +++ b/src/rxgen/rpc_scan.c @@ -346,7 +346,7 @@ findstrconst(char **str, char **val) p = *str; do { - *p++; + p++; } while (*p && *p != '"'); if (*p == 0) { error("unterminated string constant"); diff --git a/src/util/pthread_glock.c b/src/util/pthread_glock.c index 3ab164c6c..33900f7e8 100644 --- a/src/util/pthread_glock.c +++ b/src/util/pthread_glock.c @@ -43,7 +43,8 @@ pthread_recursive_mutex_lock(pthread_recursive_mutex_t * mut) { int rc = 0; - (glock_init || pthread_once(&glock_init_once, glock_init_func)); + if (!glock_init) + pthread_once(&glock_init_once, glock_init_func); if (mut->locked) { if (pthread_equal(mut->owner, pthread_self())) { @@ -66,7 +67,8 @@ pthread_recursive_mutex_unlock(pthread_recursive_mutex_t * mut) { int rc = 0; - (glock_init || pthread_once(&glock_init_once, glock_init_func)); + if (!glock_init) + pthread_once(&glock_init_once, glock_init_func); if ((mut->locked) && (pthread_equal(mut->owner, pthread_self()))) { mut->times_inside--; -- 2.39.5