projects
/
unix-history
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
last line botched (fix from Mike Laman, NCR Torrey Pines)
[unix-history]
/
usr
/
src
/
sys
/
ufs
/
ffs
/
ffs_subr.c
diff --git
a/usr/src/sys/ufs/ffs/ffs_subr.c
b/usr/src/sys/ufs/ffs/ffs_subr.c
index
8f458cb
..
e472ea0
100644
(file)
--- a/
usr/src/sys/ufs/ffs/ffs_subr.c
+++ b/
usr/src/sys/ufs/ffs/ffs_subr.c
@@
-1,4
+1,4
@@
-/* ffs_subr.c
4.4 82/12/1
7 */
+/* ffs_subr.c
6.2 84/02/0
7 */
#ifdef KERNEL
#include "../h/param.h"
#ifdef KERNEL
#include "../h/param.h"
@@
-68,7
+68,8
@@
update()
* Write back each (modified) inode.
*/
for (ip = inode; ip < inodeNINODE; ip++) {
* Write back each (modified) inode.
*/
for (ip = inode; ip < inodeNINODE; ip++) {
- if ((ip->i_flag & ILOCKED) != 0 || ip->i_count == 0)
+ if ((ip->i_flag & ILOCKED) != 0 || ip->i_count == 0 ||
+ (ip->i_flag & (IACC|IUPD|ICHG) == 0))
continue;
ip->i_flag |= ILOCKED;
ip->i_count++;
continue;
ip->i_flag |= ILOCKED;
ip->i_count++;
@@
-103,6
+104,8
@@
syncip(ip)
blkno = fsbtodb(fs, bmap(ip, lbn, B_READ));
blkflush(ip->i_dev, blkno, blksize(fs, ip, lbn));
}
blkno = fsbtodb(fs, bmap(ip, lbn, B_READ));
blkflush(ip->i_dev, blkno, blksize(fs, ip, lbn));
}
+ ip->i_flag |= ICHG;
+ iupdat(ip, &time, &time, 1);
}
#endif
}
#endif