Update of /cvsroot/libsysio/libsysio/src
In directory sc8-pr-cvs1:/tmp/cvs-serv12924/src
Modified Files:
Tag: RedStorm
inode.c namei.c
Log Message:
Pull in recent changes from the HEAD branch, to incorporate fixes there.
Index: inode.c
===================================================================
RCS file: /cvsroot/libsysio/libsysio/src/inode.c,v
retrieving revision 1.7
retrieving revision 1.7.4.1
diff -u -w -b -B -p -r1.7 -r1.7.4.1
--- inode.c 23 Apr 2003 19:45:52 -0000 1.7
+++ inode.c 29 Jul 2003 19:05:08 -0000 1.7.4.1
@@ -265,6 +265,7 @@ _sysio_i_gone(struct inode *ino)
if (ino->i_ref)
abort();
+ if (!ino->i_zombie)
LIST_REMOVE(ino, i_link);
TAILQ_REMOVE(&_sysio_inodes, ino, i_nodes);
(*ino->i_ops.inop_gone)(ino);
@@ -272,6 +273,17 @@ _sysio_i_gone(struct inode *ino)
assert(n_inodes);
n_inodes--;
+}
+
+/*
+ * Stale inode, zombie it and move it out of the way
+ */
+void
+_sysio_i_undead(struct inode *ino)
+{
+
+ LIST_REMOVE(ino, i_link);
+ ino->i_zombie = 1;
}
/*
Index: namei.c
===================================================================
RCS file: /cvsroot/libsysio/libsysio/src/namei.c,v
retrieving revision 1.5
retrieving revision 1.5.6.1
diff -u -w -b -B -p -r1.5 -r1.5.6.1
--- namei.c 24 Mar 2003 22:09:06 -0000 1.5
+++ namei.c 29 Jul 2003 19:05:09 -0000 1.5.6.1
@@ -293,8 +293,7 @@ _sysio_path_walk(struct pnode *parent, s
* Must send the intent-path again.
*/
path = nd->nd_path;
- } else if (err == -ENOENT)
- err = 0;
+ }
if (!err) {
P_RELE(pno);
nd->nd_amcnt++;
|