Index: coda_subr.c =================================================================== --- coda_subr.c (revision 184473) +++ coda_subr.c (working copy) @@ -195,7 +195,7 @@ CODADEBUG(CODA_FLUSH, myprintf(("acccache " "purge fid %s uid %d mode 0x%x\n", coda_f2s(&cp->c_fid), cp->c_cached_uid, - cp->c_cached_mode));); + (int)cp->c_cached_mode));); cp->c_flags &= ~C_ACCCACHE; } } @@ -223,7 +223,7 @@ CODADEBUG(CODA_PURGEUSER, myprintf(( "acccache purgeuser fid %s uid %d mode " "0x%x\n", coda_f2s(&cp->c_fid), - cp->c_cached_uid, cp->c_cached_mode));); + cp->c_cached_uid, (int)cp->c_cached_mode));); cp->c_flags &= ~C_ACCCACHE; } } Index: coda_venus.c =================================================================== --- coda_venus.c (revision 184473) +++ coda_venus.c (working copy) @@ -347,7 +347,7 @@ } int -venus_access(void *mdp, CodaFid *fid, int mode, struct ucred *cred, +venus_access(void *mdp, CodaFid *fid, accmode_t accmode, struct ucred *cred, struct proc *p) { DECL_NO_OUT(coda_access); /* sets Isize & Osize */ @@ -362,8 +362,10 @@ /* * NOTE: FreeBSD and Venus internals use the "data" in the low 3 * bits. Hence, the conversion. + * + * XXX: We cast accmode_t variable into an int. */ - inp->flags = mode>>6; + inp->flags = (int)accmode>>6; error = coda_call(mdp, Isize, &Osize, (char *)inp); Index: cnode.h =================================================================== --- cnode.h (revision 184473) +++ cnode.h (working copy) @@ -102,7 +102,7 @@ char *c_symlink; /* pointer to symbolic link */ u_short c_symlen; /* length of symbolic link */ uid_t c_cached_uid; /* cached uid */ - mode_t c_cached_mode; /* cached access mode */ + accmode_t c_cached_mode; /* cached access mode */ struct cnode *c_next; /* links if on FreeBSD machine */ }; #define VTOC(vp) ((struct cnode *)(vp)->v_data)