Update of /cvsroot/libsysio/libsysio/drivers/incore
In directory sc8-pr-cvs1:/tmp/cvs-serv27341/incore
Modified Files:
Tag: cplant
fs_incore.c
Log Message:
merge trunk changes into cplant branch
Index: fs_incore.c
===================================================================
RCS file: /cvsroot/libsysio/libsysio/drivers/incore/fs_incore.c,v
retrieving revision 1.3
retrieving revision 1.3.2.1
diff -C2 -d -r1.3 -r1.3.2.1
*** fs_incore.c 26 Mar 2003 00:06:01 -0000 1.3
--- fs_incore.c 28 Apr 2003 20:41:33 -0000 1.3.2.1
***************
*** 592,595 ****
--- 592,596 ----
icino->ici_st.st_mode,
0,
+ 1,
&_sysio_incore_dir_ops,
icino);
***************
*** 736,740 ****
--- 737,743 ----
struct lookup_data lookup_data;
struct file_identifier fileid;
+ #ifdef notdef
struct inode_ops *ops;
+ #endif
/*
***************
*** 770,773 ****
--- 773,777 ----
ino =
_sysio_i_find(ino->i_fs, de->d_ino, &fileid);
+ #ifdef notdef
if (ino)
goto out;
***************
*** 793,802 ****
--- 797,810 ----
icino->ici_st.st_mode,
0,
+ 1,
ops,
icino);
+ #endif
if (!ino)
return -ENOMEM;
+ #ifdef notdef
out:
+ #endif
*inop = ino;
return 0;
***************
*** 1054,1057 ****
--- 1062,1066 ----
stat.st_mode,
0,
+ 1,
&_sysio_incore_dir_ops,
icino);
***************
*** 1069,1081 ****
stat.st_ino,
INCORE_D_TYPEOF(S_IFDIR));
if (err) {
de->d_ino = 0; /* bad parent */
I_RELE(ino);
return err;
}
! /*
! * Leave reference so the inode is not reclaimed.
! */
return 0;
}
--- 1078,1090 ----
stat.st_ino,
INCORE_D_TYPEOF(S_IFDIR));
+
if (err) {
de->d_ino = 0; /* bad parent */
I_RELE(ino);
+ _sysio_i_gone(ino);
return err;
}
! pno->p_base->pb_ino = ino;
return 0;
}
***************
*** 1163,1166 ****
--- 1172,1176 ----
st->st_mode,
st->st_rdev,
+ 1,
S_ISREG(st->st_mode)
? &_sysio_incore_file_ops
***************
*** 1182,1192 ****
if (err) {
I_RELE(ino);
return err;
}
pno->p_base->pb_ino = ino;
- /*
- * Leave reference so the inode is not reclaimed.
- */
return 0;
}
--- 1192,1200 ----
if (err) {
I_RELE(ino);
+ _sysio_i_gone(ino);
return err;
}
pno->p_base->pb_ino = ino;
return 0;
}
|