diff options
author | rvb <rvb@FreeBSD.org> | 1998-09-25 17:38:32 +0000 |
---|---|---|
committer | rvb <rvb@FreeBSD.org> | 1998-09-25 17:38:32 +0000 |
commit | ebf7679a7e6dee376f8e96d282b4632a27465aae (patch) | |
tree | 4e2b0fbcfac67784827375cd6b89d1c5553218bc /sys/coda/coda_vnops.c | |
parent | a2aeaf4564624f0c0604313ae94415c0c349b905 (diff) | |
download | FreeBSD-src-ebf7679a7e6dee376f8e96d282b4632a27465aae.zip FreeBSD-src-ebf7679a7e6dee376f8e96d282b4632a27465aae.tar.gz |
Put "stray" printouts under DIAGNOSTIC. Make everything build
with DEBUG on. Add support for lkm. (The macro's don't work
for me; for a good chuckle look at the end of coda_fbsd.c.)
Diffstat (limited to 'sys/coda/coda_vnops.c')
-rw-r--r-- | sys/coda/coda_vnops.c | 58 |
1 files changed, 35 insertions, 23 deletions
diff --git a/sys/coda/coda_vnops.c b/sys/coda/coda_vnops.c index 567fb39..abb0ae0 100644 --- a/sys/coda/coda_vnops.c +++ b/sys/coda/coda_vnops.c @@ -27,7 +27,7 @@ * Mellon the rights to redistribute these changes without encumbrance. * * @(#) src/sys/coda/coda_vnops.c,v 1.1.1.1 1998/08/29 21:14:52 rvb Exp $ - * $Id: coda_vnops.c,v 1.3 1998/09/11 18:50:17 rvb Exp $ + * $Id: coda_vnops.c,v 1.4 1998/09/13 13:57:59 rvb Exp $ * */ @@ -48,6 +48,9 @@ /* * HISTORY * $Log: coda_vnops.c,v $ + * Revision 1.4 1998/09/13 13:57:59 rvb + * Finish conversion of cfs -> coda + * * Revision 1.3 1998/09/11 18:50:17 rvb * All the references to cfs, in symbols, structs, and strings * have been changed to coda. (Same for CFS.) @@ -291,38 +294,38 @@ struct vnodeopv_entry_desc coda_vnodeop_entries[] = { { &vop_default_desc, coda_vop_error }, { &vop_lookup_desc, coda_lookup }, /* lookup */ { &vop_create_desc, coda_create }, /* create */ - { &vop_mknod_desc, coda_vop_error }, /* mknod */ + { &vop_mknod_desc, coda_vop_error }, /* mknod */ { &vop_open_desc, coda_open }, /* open */ { &vop_close_desc, coda_close }, /* close */ { &vop_access_desc, coda_access }, /* access */ - { &vop_getattr_desc, coda_getattr }, /* getattr */ - { &vop_setattr_desc, coda_setattr }, /* setattr */ + { &vop_getattr_desc, coda_getattr }, /* getattr */ + { &vop_setattr_desc, coda_setattr }, /* setattr */ { &vop_read_desc, coda_read }, /* read */ { &vop_write_desc, coda_write }, /* write */ { &vop_ioctl_desc, coda_ioctl }, /* ioctl */ - { &vop_mmap_desc, coda_vop_error }, /* mmap */ + { &vop_mmap_desc, coda_vop_error }, /* mmap */ { &vop_fsync_desc, coda_fsync }, /* fsync */ { &vop_remove_desc, coda_remove }, /* remove */ { &vop_link_desc, coda_link }, /* link */ { &vop_rename_desc, coda_rename }, /* rename */ { &vop_mkdir_desc, coda_mkdir }, /* mkdir */ { &vop_rmdir_desc, coda_rmdir }, /* rmdir */ - { &vop_symlink_desc, coda_symlink }, /* symlink */ - { &vop_readdir_desc, coda_readdir }, /* readdir */ + { &vop_symlink_desc, coda_symlink }, /* symlink */ + { &vop_readdir_desc, coda_readdir }, /* readdir */ { &vop_readlink_desc, coda_readlink }, /* readlink */ - { &vop_abortop_desc, coda_abortop }, /* abortop */ + { &vop_abortop_desc, coda_abortop }, /* abortop */ { &vop_inactive_desc, coda_inactive }, /* inactive */ - { &vop_reclaim_desc, coda_reclaim }, /* reclaim */ + { &vop_reclaim_desc, coda_reclaim }, /* reclaim */ { &vop_lock_desc, coda_lock }, /* lock */ { &vop_unlock_desc, coda_unlock }, /* unlock */ { &vop_bmap_desc, coda_bmap }, /* bmap */ { &vop_strategy_desc, coda_strategy }, /* strategy */ - { &vop_print_desc, coda_vop_error }, /* print */ + { &vop_print_desc, coda_vop_error }, /* print */ { &vop_islocked_desc, coda_islocked }, /* islocked */ - { &vop_pathconf_desc, coda_vop_error }, /* pathconf */ - { &vop_advlock_desc, coda_vop_nop }, /* advlock */ - { &vop_bwrite_desc, coda_vop_error }, /* bwrite */ - { &vop_lease_desc, coda_vop_nop }, /* lease */ + { &vop_pathconf_desc, coda_vop_error }, /* pathconf */ + { &vop_advlock_desc, coda_vop_nop }, /* advlock */ + { &vop_bwrite_desc, coda_vop_error }, /* bwrite */ + { &vop_lease_desc, coda_vop_nop }, /* lease */ { &vop_poll_desc, (vop_t *) vop_stdpoll }, { &vop_getpages_desc, coda_fbsd_getpages }, /* pager intf.*/ { &vop_putpages_desc, coda_fbsd_putpages }, /* pager intf.*/ @@ -473,6 +476,7 @@ coda_open(v) printf("coda_open: VOP_OPEN on container failed %d\n", error); return (error); } +/* grab (above) does this when it calls newvnode unless it's in the cache*/ if (vp->v_type == VREG) { error = vfs_object_create(vp, p, cred, 1); if (error != 0) { @@ -480,6 +484,7 @@ coda_open(v) vput(vp); } } + return(error); } @@ -510,11 +515,15 @@ coda_close(v) if (IS_UNMOUNTING(cp)) { if (cp->c_ovp) { +#ifdef DIAGNOSTIC printf("coda_close: destroying container ref %d, ufs vp %p of vp %p/cp %p\n", vp->v_usecount, cp->c_ovp, vp, cp); +#endif vgone(cp->c_ovp); } else { +#ifdef DIAGNOSTIC printf("coda_close: NO container vp %p/cp %p\n", vp, cp); +#endif } return ENODEV; } else { @@ -643,11 +652,13 @@ printf("coda_rdwr: Internally Opening %p\n", vp); cp->c_fid.Volume, cp->c_fid.Vnode, cp->c_fid.Unique, CTOV(cp)->v_usecount)); ) + if (rw == UIO_READ) { error = VOP_READ(cfvp, uiop, ioflag, cred); } else { error = VOP_WRITE(cfvp, uiop, ioflag, cred); /* ufs_write updates the vnode_pager_setsize for the vnode/object */ + { struct vattr attr; if (VOP_GETATTR(cfvp, &attr, cred, p) == 0) { @@ -1101,7 +1112,7 @@ coda_inactive(v) #endif lockmgr(&cp->c_lock, LK_RELEASE, &vp->v_interlock, p); } else { -#ifdef DIAGNOSTIC +#ifdef OLD_DIAGNOSTIC if (CTOV(cp)->v_usecount) { panic("coda_inactive: nonzero reference count"); } @@ -1366,11 +1377,11 @@ coda_create(v) panic("unlocked parent but couldn't lock child"); } } -#ifdef DIAGNOSTIC +#ifdef OLD_DIAGNOSTIC else { printf("coda_create: LOCKLEAF not set!\n"); } -#endif /* DIAGNOSTIC */ +#endif } /* Have to free the previously saved name */ /* @@ -1530,13 +1541,13 @@ coda_rename(v) /* Hmmm. The vnodes are already looked up. Perhaps they are locked? This could be Bad. XXX */ -#ifdef DIAGNOSTIC +#ifdef OLD_DIAGNOSTIC if ((fcnp->cn_cred != tcnp->cn_cred) || (fcnp->cn_proc != tcnp->cn_proc)) { panic("coda_rename: component names don't agree"); } -#endif DIAGNOSTIC +#endif /* Check for rename involving control object. */ if (IS_CTL_NAME(odvp, fnm, flen) || IS_CTL_NAME(ndvp, tnm, tlen)) { @@ -1899,10 +1910,11 @@ coda_bmap(v) cp = VTOC(vp); if (cp->c_ovp) { - printf("coda_bmap: container .. "); ret = VOP_BMAP(cp->c_ovp, bn, vpp, bnp, ap->a_runp, ap->a_runb); +#if 0 printf("VOP_BMAP(cp->c_ovp %p, bn %p, vpp %p, bnp %p, ap->a_runp %p, ap->a_runb %p) = %d\n", cp->c_ovp, bn, vpp, bnp, ap->a_runp, ap->a_runb, ret); +#endif return ret; } else { printf("coda_bmap: no container\n"); @@ -1956,13 +1968,13 @@ coda_reclaim(v) } #endif } else { -#ifdef DIAGNOSTIC +#ifdef OLD_DIAGNOSTIC if (vp->v_usecount != 0) - vprint("coda_reclaim: pushing active", vp); + print("coda_reclaim: pushing active %p\n", vp); if (VTOC(vp)->c_ovp) { panic("coda_reclaim: c_ovp not void"); } -#endif DIAGNOSTIC +#endif } cache_purge(vp); coda_free(VTOC(vp)); |