reincarnated clear of i_rdev when freeing an inode, otherwise it
authorTrent Hein <trent@ucbvax.Berkeley.EDU>
Tue, 3 Jul 1990 15:51:43 +0000 (07:51 -0800)
committerTrent Hein <trent@ucbvax.Berkeley.EDU>
Tue, 3 Jul 1990 15:51:43 +0000 (07:51 -0800)
appears inode has zero size but one disk block. (bostic+trent)

SCCS-vsn: sys/ufs/ffs/ffs_inode.c 7.34
SCCS-vsn: sys/ufs/ffs/ufs_inode.c 7.34
SCCS-vsn: sys/ufs/lfs/lfs_inode.c 7.34
SCCS-vsn: sys/ufs/ufs/ufs_inode.c 7.34

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 fb3a4b4..c743959 100644 (file)
@@ -4,7 +4,7 @@
  *
  * %sccs.include.redist.c%
  *
  *
  * %sccs.include.redist.c%
  *
- *     @(#)ffs_inode.c 7.33 (Berkeley) %G%
+ *     @(#)ffs_inode.c 7.34 (Berkeley) %G%
  */
 
 #include "param.h"
  */
 
 #include "param.h"
@@ -255,6 +255,7 @@ ufs_inactive(vp)
                error = itrunc(ip, (u_long)0, 0);
                mode = ip->i_mode;
                ip->i_mode = 0;
                error = itrunc(ip, (u_long)0, 0);
                mode = ip->i_mode;
                ip->i_mode = 0;
+               ip->i_rdev = 0;
                ip->i_flag |= IUPD|ICHG;
                ifree(ip, ip->i_number, mode);
        }
                ip->i_flag |= IUPD|ICHG;
                ifree(ip, ip->i_number, mode);
        }
index bf359e8..c2392a7 100644 (file)
@@ -4,7 +4,7 @@
  *
  * %sccs.include.redist.c%
  *
  *
  * %sccs.include.redist.c%
  *
- *     @(#)ufs_inode.c 7.33 (Berkeley) %G%
+ *     @(#)ufs_inode.c 7.34 (Berkeley) %G%
  */
 
 #include "param.h"
  */
 
 #include "param.h"
@@ -255,6 +255,7 @@ ufs_inactive(vp)
                error = itrunc(ip, (u_long)0, 0);
                mode = ip->i_mode;
                ip->i_mode = 0;
                error = itrunc(ip, (u_long)0, 0);
                mode = ip->i_mode;
                ip->i_mode = 0;
+               ip->i_rdev = 0;
                ip->i_flag |= IUPD|ICHG;
                ifree(ip, ip->i_number, mode);
        }
                ip->i_flag |= IUPD|ICHG;
                ifree(ip, ip->i_number, mode);
        }
index 0e9e618..74d9ca6 100644 (file)
@@ -4,7 +4,7 @@
  *
  * %sccs.include.redist.c%
  *
  *
  * %sccs.include.redist.c%
  *
- *     @(#)lfs_inode.c 7.33 (Berkeley) %G%
+ *     @(#)lfs_inode.c 7.34 (Berkeley) %G%
  */
 
 #include "param.h"
  */
 
 #include "param.h"
@@ -255,6 +255,7 @@ ufs_inactive(vp)
                error = itrunc(ip, (u_long)0, 0);
                mode = ip->i_mode;
                ip->i_mode = 0;
                error = itrunc(ip, (u_long)0, 0);
                mode = ip->i_mode;
                ip->i_mode = 0;
+               ip->i_rdev = 0;
                ip->i_flag |= IUPD|ICHG;
                ifree(ip, ip->i_number, mode);
        }
                ip->i_flag |= IUPD|ICHG;
                ifree(ip, ip->i_number, mode);
        }
index bf359e8..c2392a7 100644 (file)
@@ -4,7 +4,7 @@
  *
  * %sccs.include.redist.c%
  *
  *
  * %sccs.include.redist.c%
  *
- *     @(#)ufs_inode.c 7.33 (Berkeley) %G%
+ *     @(#)ufs_inode.c 7.34 (Berkeley) %G%
  */
 
 #include "param.h"
  */
 
 #include "param.h"
@@ -255,6 +255,7 @@ ufs_inactive(vp)
                error = itrunc(ip, (u_long)0, 0);
                mode = ip->i_mode;
                ip->i_mode = 0;
                error = itrunc(ip, (u_long)0, 0);
                mode = ip->i_mode;
                ip->i_mode = 0;
+               ip->i_rdev = 0;
                ip->i_flag |= IUPD|ICHG;
                ifree(ip, ip->i_number, mode);
        }
                ip->i_flag |= IUPD|ICHG;
                ifree(ip, ip->i_number, mode);
        }