use ITIME in irele to update times in irele without write to disk
authorMike Karels <karels@ucbvax.Berkeley.EDU>
Thu, 16 Feb 1984 13:13:49 +0000 (05:13 -0800)
committerMike Karels <karels@ucbvax.Berkeley.EDU>
Thu, 16 Feb 1984 13:13:49 +0000 (05:13 -0800)
SCCS-vsn: sys/ufs/ffs/ffs_inode.c 6.3
SCCS-vsn: sys/ufs/ffs/ufs_inode.c 6.3
SCCS-vsn: sys/ufs/lfs/lfs_inode.c 6.3
SCCS-vsn: sys/ufs/ufs/ufs_inode.c 6.3

usr/src/sys/ufs/ffs/ffs_inode.c
usr/src/sys/ufs/ffs/ufs_inode.c
usr/src/sys/ufs/lfs/lfs_inode.c
usr/src/sys/ufs/ufs/ufs_inode.c

index e667ea5..68f61a6 100644 (file)
@@ -1,4 +1,4 @@
-/*     ffs_inode.c     6.2     84/02/07        */
+/*     ffs_inode.c     6.3     84/02/15        */
 
 #include "../h/param.h"
 #include "../h/systm.h"
 
 #include "../h/param.h"
 #include "../h/systm.h"
@@ -270,12 +270,8 @@ irele(ip)
                }
                ip->i_freef = NULL;
                ifreet = &ip->i_freef;
                }
                ip->i_freef = NULL;
                ifreet = &ip->i_freef;
-       } else if ((ip->i_flag & (IUPD|IACC|ICHG)) &&
-           ((ip->i_flag & ILOCKED) == 0)) {
-               ip->i_flag |= ILOCKED;
-               iupdat(ip, &time, &time, 0);
-               iunlock(ip);
-       }
+       } else if (!(ip->i_flag & ILOCKED))
+               ITIMES(ip, &time, &time);
        ip->i_count--;
 }
 
        ip->i_count--;
 }
 
@@ -297,7 +293,7 @@ iupdat(ip, ta, tm, waitfor)
        register struct fs *fp;
 
        fp = ip->i_fs;
        register struct fs *fp;
 
        fp = ip->i_fs;
-       if ((ip->i_flag & (IUPD|IACC|ICHG)) != 0) {
+       if ((ip->i_flag & (IUPD|IACC|ICHG|IMOD)) != 0) {
                if (fp->fs_ronly)
                        return;
                bp = bread(ip->i_dev, fsbtodb(fp, itod(fp, ip->i_number)),
                if (fp->fs_ronly)
                        return;
                bp = bread(ip->i_dev, fsbtodb(fp, itod(fp, ip->i_number)),
@@ -312,7 +308,7 @@ iupdat(ip, ta, tm, waitfor)
                        ip->i_mtime = tm->tv_sec;
                if (ip->i_flag&ICHG)
                        ip->i_ctime = time.tv_sec;
                        ip->i_mtime = tm->tv_sec;
                if (ip->i_flag&ICHG)
                        ip->i_ctime = time.tv_sec;
-               ip->i_flag &= ~(IUPD|IACC|ICHG);
+               ip->i_flag &= ~(IUPD|IACC|ICHG|IMOD);
                dp = bp->b_un.b_dino + itoo(fp, ip->i_number);
                dp->di_ic = ip->i_ic;
                if (waitfor)
                dp = bp->b_un.b_dino + itoo(fp, ip->i_number);
                dp->di_ic = ip->i_ic;
                if (waitfor)
index f2dc978..3300e05 100644 (file)
@@ -1,4 +1,4 @@
-/*     ufs_inode.c     6.2     84/02/07        */
+/*     ufs_inode.c     6.3     84/02/15        */
 
 #include "../h/param.h"
 #include "../h/systm.h"
 
 #include "../h/param.h"
 #include "../h/systm.h"
@@ -270,12 +270,8 @@ irele(ip)
                }
                ip->i_freef = NULL;
                ifreet = &ip->i_freef;
                }
                ip->i_freef = NULL;
                ifreet = &ip->i_freef;
-       } else if ((ip->i_flag & (IUPD|IACC|ICHG)) &&
-           ((ip->i_flag & ILOCKED) == 0)) {
-               ip->i_flag |= ILOCKED;
-               iupdat(ip, &time, &time, 0);
-               iunlock(ip);
-       }
+       } else if (!(ip->i_flag & ILOCKED))
+               ITIMES(ip, &time, &time);
        ip->i_count--;
 }
 
        ip->i_count--;
 }
 
@@ -297,7 +293,7 @@ iupdat(ip, ta, tm, waitfor)
        register struct fs *fp;
 
        fp = ip->i_fs;
        register struct fs *fp;
 
        fp = ip->i_fs;
-       if ((ip->i_flag & (IUPD|IACC|ICHG)) != 0) {
+       if ((ip->i_flag & (IUPD|IACC|ICHG|IMOD)) != 0) {
                if (fp->fs_ronly)
                        return;
                bp = bread(ip->i_dev, fsbtodb(fp, itod(fp, ip->i_number)),
                if (fp->fs_ronly)
                        return;
                bp = bread(ip->i_dev, fsbtodb(fp, itod(fp, ip->i_number)),
@@ -312,7 +308,7 @@ iupdat(ip, ta, tm, waitfor)
                        ip->i_mtime = tm->tv_sec;
                if (ip->i_flag&ICHG)
                        ip->i_ctime = time.tv_sec;
                        ip->i_mtime = tm->tv_sec;
                if (ip->i_flag&ICHG)
                        ip->i_ctime = time.tv_sec;
-               ip->i_flag &= ~(IUPD|IACC|ICHG);
+               ip->i_flag &= ~(IUPD|IACC|ICHG|IMOD);
                dp = bp->b_un.b_dino + itoo(fp, ip->i_number);
                dp->di_ic = ip->i_ic;
                if (waitfor)
                dp = bp->b_un.b_dino + itoo(fp, ip->i_number);
                dp->di_ic = ip->i_ic;
                if (waitfor)
index 8f9b554..cf21ad5 100644 (file)
@@ -1,4 +1,4 @@
-/*     lfs_inode.c     6.2     84/02/07        */
+/*     lfs_inode.c     6.3     84/02/15        */
 
 #include "../h/param.h"
 #include "../h/systm.h"
 
 #include "../h/param.h"
 #include "../h/systm.h"
@@ -270,12 +270,8 @@ irele(ip)
                }
                ip->i_freef = NULL;
                ifreet = &ip->i_freef;
                }
                ip->i_freef = NULL;
                ifreet = &ip->i_freef;
-       } else if ((ip->i_flag & (IUPD|IACC|ICHG)) &&
-           ((ip->i_flag & ILOCKED) == 0)) {
-               ip->i_flag |= ILOCKED;
-               iupdat(ip, &time, &time, 0);
-               iunlock(ip);
-       }
+       } else if (!(ip->i_flag & ILOCKED))
+               ITIMES(ip, &time, &time);
        ip->i_count--;
 }
 
        ip->i_count--;
 }
 
@@ -297,7 +293,7 @@ iupdat(ip, ta, tm, waitfor)
        register struct fs *fp;
 
        fp = ip->i_fs;
        register struct fs *fp;
 
        fp = ip->i_fs;
-       if ((ip->i_flag & (IUPD|IACC|ICHG)) != 0) {
+       if ((ip->i_flag & (IUPD|IACC|ICHG|IMOD)) != 0) {
                if (fp->fs_ronly)
                        return;
                bp = bread(ip->i_dev, fsbtodb(fp, itod(fp, ip->i_number)),
                if (fp->fs_ronly)
                        return;
                bp = bread(ip->i_dev, fsbtodb(fp, itod(fp, ip->i_number)),
@@ -312,7 +308,7 @@ iupdat(ip, ta, tm, waitfor)
                        ip->i_mtime = tm->tv_sec;
                if (ip->i_flag&ICHG)
                        ip->i_ctime = time.tv_sec;
                        ip->i_mtime = tm->tv_sec;
                if (ip->i_flag&ICHG)
                        ip->i_ctime = time.tv_sec;
-               ip->i_flag &= ~(IUPD|IACC|ICHG);
+               ip->i_flag &= ~(IUPD|IACC|ICHG|IMOD);
                dp = bp->b_un.b_dino + itoo(fp, ip->i_number);
                dp->di_ic = ip->i_ic;
                if (waitfor)
                dp = bp->b_un.b_dino + itoo(fp, ip->i_number);
                dp->di_ic = ip->i_ic;
                if (waitfor)
index f2dc978..3300e05 100644 (file)
@@ -1,4 +1,4 @@
-/*     ufs_inode.c     6.2     84/02/07        */
+/*     ufs_inode.c     6.3     84/02/15        */
 
 #include "../h/param.h"
 #include "../h/systm.h"
 
 #include "../h/param.h"
 #include "../h/systm.h"
@@ -270,12 +270,8 @@ irele(ip)
                }
                ip->i_freef = NULL;
                ifreet = &ip->i_freef;
                }
                ip->i_freef = NULL;
                ifreet = &ip->i_freef;
-       } else if ((ip->i_flag & (IUPD|IACC|ICHG)) &&
-           ((ip->i_flag & ILOCKED) == 0)) {
-               ip->i_flag |= ILOCKED;
-               iupdat(ip, &time, &time, 0);
-               iunlock(ip);
-       }
+       } else if (!(ip->i_flag & ILOCKED))
+               ITIMES(ip, &time, &time);
        ip->i_count--;
 }
 
        ip->i_count--;
 }
 
@@ -297,7 +293,7 @@ iupdat(ip, ta, tm, waitfor)
        register struct fs *fp;
 
        fp = ip->i_fs;
        register struct fs *fp;
 
        fp = ip->i_fs;
-       if ((ip->i_flag & (IUPD|IACC|ICHG)) != 0) {
+       if ((ip->i_flag & (IUPD|IACC|ICHG|IMOD)) != 0) {
                if (fp->fs_ronly)
                        return;
                bp = bread(ip->i_dev, fsbtodb(fp, itod(fp, ip->i_number)),
                if (fp->fs_ronly)
                        return;
                bp = bread(ip->i_dev, fsbtodb(fp, itod(fp, ip->i_number)),
@@ -312,7 +308,7 @@ iupdat(ip, ta, tm, waitfor)
                        ip->i_mtime = tm->tv_sec;
                if (ip->i_flag&ICHG)
                        ip->i_ctime = time.tv_sec;
                        ip->i_mtime = tm->tv_sec;
                if (ip->i_flag&ICHG)
                        ip->i_ctime = time.tv_sec;
-               ip->i_flag &= ~(IUPD|IACC|ICHG);
+               ip->i_flag &= ~(IUPD|IACC|ICHG|IMOD);
                dp = bp->b_un.b_dino + itoo(fp, ip->i_number);
                dp->di_ic = ip->i_ic;
                if (waitfor)
                dp = bp->b_un.b_dino + itoo(fp, ip->i_number);
                dp->di_ic = ip->i_ic;
                if (waitfor)