summaryrefslogtreecommitdiffstats
path: root/sys/coda/coda_vnops.c
diff options
context:
space:
mode:
authorrvb <rvb@FreeBSD.org>1998-09-25 17:38:32 +0000
committerrvb <rvb@FreeBSD.org>1998-09-25 17:38:32 +0000
commitebf7679a7e6dee376f8e96d282b4632a27465aae (patch)
tree4e2b0fbcfac67784827375cd6b89d1c5553218bc /sys/coda/coda_vnops.c
parenta2aeaf4564624f0c0604313ae94415c0c349b905 (diff)
downloadFreeBSD-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.c58
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));
OpenPOWER on IntegriCloud