initialize i_diroff; proper association of indirect blocks
authorKirk McKusick <mckusick@ucbvax.Berkeley.EDU>
Fri, 5 Jan 1990 14:17:31 +0000 (06:17 -0800)
committerKirk McKusick <mckusick@ucbvax.Berkeley.EDU>
Fri, 5 Jan 1990 14:17:31 +0000 (06:17 -0800)
SCCS-vsn: sys/ufs/ffs/ffs_inode.c 7.27
SCCS-vsn: sys/ufs/ffs/ufs_inode.c 7.27
SCCS-vsn: sys/ufs/lfs/lfs_inode.c 7.27
SCCS-vsn: sys/ufs/ufs/ufs_inode.c 7.27

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 9d0be7b..774bbea 100644 (file)
@@ -14,7 +14,7 @@
  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
- *     @(#)ffs_inode.c 7.26 (Berkeley) %G%
+ *     @(#)ffs_inode.c 7.27 (Berkeley) %G%
  */
 
 #include "param.h"
  */
 
 #include "param.h"
@@ -121,6 +121,7 @@ loop:
        ip->i_flag = 0;
        ip->i_devvp = 0;
        ip->i_mode = 0;
        ip->i_flag = 0;
        ip->i_devvp = 0;
        ip->i_mode = 0;
+       ip->i_diroff = 0;
 #ifdef QUOTA
        ip->i_dquot = NODQUOT;
 #endif
 #ifdef QUOTA
        ip->i_dquot = NODQUOT;
 #endif
@@ -579,8 +580,6 @@ indirtrunc(ip, bn, lastbn, level, countp)
                *countp = 0;
                return (error);
        }
                *countp = 0;
                return (error);
        }
-       if ((bp->b_flags & B_CACHE) == 0)
-               reassignbuf(bp, ITOV(ip));
        bap = bp->b_un.b_daddr;
        MALLOC(copy, daddr_t *, fs->fs_bsize, M_TEMP, M_WAITOK);
        bcopy((caddr_t)bap, (caddr_t)copy, (u_int)fs->fs_bsize);
        bap = bp->b_un.b_daddr;
        MALLOC(copy, daddr_t *, fs->fs_bsize, M_TEMP, M_WAITOK);
        bcopy((caddr_t)bap, (caddr_t)copy, (u_int)fs->fs_bsize);
index 10fbac4..bef7999 100644 (file)
@@ -14,7 +14,7 @@
  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
- *     @(#)ufs_inode.c 7.26 (Berkeley) %G%
+ *     @(#)ufs_inode.c 7.27 (Berkeley) %G%
  */
 
 #include "param.h"
  */
 
 #include "param.h"
@@ -121,6 +121,7 @@ loop:
        ip->i_flag = 0;
        ip->i_devvp = 0;
        ip->i_mode = 0;
        ip->i_flag = 0;
        ip->i_devvp = 0;
        ip->i_mode = 0;
+       ip->i_diroff = 0;
 #ifdef QUOTA
        ip->i_dquot = NODQUOT;
 #endif
 #ifdef QUOTA
        ip->i_dquot = NODQUOT;
 #endif
@@ -579,8 +580,6 @@ indirtrunc(ip, bn, lastbn, level, countp)
                *countp = 0;
                return (error);
        }
                *countp = 0;
                return (error);
        }
-       if ((bp->b_flags & B_CACHE) == 0)
-               reassignbuf(bp, ITOV(ip));
        bap = bp->b_un.b_daddr;
        MALLOC(copy, daddr_t *, fs->fs_bsize, M_TEMP, M_WAITOK);
        bcopy((caddr_t)bap, (caddr_t)copy, (u_int)fs->fs_bsize);
        bap = bp->b_un.b_daddr;
        MALLOC(copy, daddr_t *, fs->fs_bsize, M_TEMP, M_WAITOK);
        bcopy((caddr_t)bap, (caddr_t)copy, (u_int)fs->fs_bsize);
index 01727d3..38a232e 100644 (file)
@@ -14,7 +14,7 @@
  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
- *     @(#)lfs_inode.c 7.26 (Berkeley) %G%
+ *     @(#)lfs_inode.c 7.27 (Berkeley) %G%
  */
 
 #include "param.h"
  */
 
 #include "param.h"
@@ -121,6 +121,7 @@ loop:
        ip->i_flag = 0;
        ip->i_devvp = 0;
        ip->i_mode = 0;
        ip->i_flag = 0;
        ip->i_devvp = 0;
        ip->i_mode = 0;
+       ip->i_diroff = 0;
 #ifdef QUOTA
        ip->i_dquot = NODQUOT;
 #endif
 #ifdef QUOTA
        ip->i_dquot = NODQUOT;
 #endif
@@ -579,8 +580,6 @@ indirtrunc(ip, bn, lastbn, level, countp)
                *countp = 0;
                return (error);
        }
                *countp = 0;
                return (error);
        }
-       if ((bp->b_flags & B_CACHE) == 0)
-               reassignbuf(bp, ITOV(ip));
        bap = bp->b_un.b_daddr;
        MALLOC(copy, daddr_t *, fs->fs_bsize, M_TEMP, M_WAITOK);
        bcopy((caddr_t)bap, (caddr_t)copy, (u_int)fs->fs_bsize);
        bap = bp->b_un.b_daddr;
        MALLOC(copy, daddr_t *, fs->fs_bsize, M_TEMP, M_WAITOK);
        bcopy((caddr_t)bap, (caddr_t)copy, (u_int)fs->fs_bsize);
index 10fbac4..bef7999 100644 (file)
@@ -14,7 +14,7 @@
  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
- *     @(#)ufs_inode.c 7.26 (Berkeley) %G%
+ *     @(#)ufs_inode.c 7.27 (Berkeley) %G%
  */
 
 #include "param.h"
  */
 
 #include "param.h"
@@ -121,6 +121,7 @@ loop:
        ip->i_flag = 0;
        ip->i_devvp = 0;
        ip->i_mode = 0;
        ip->i_flag = 0;
        ip->i_devvp = 0;
        ip->i_mode = 0;
+       ip->i_diroff = 0;
 #ifdef QUOTA
        ip->i_dquot = NODQUOT;
 #endif
 #ifdef QUOTA
        ip->i_dquot = NODQUOT;
 #endif
@@ -579,8 +580,6 @@ indirtrunc(ip, bn, lastbn, level, countp)
                *countp = 0;
                return (error);
        }
                *countp = 0;
                return (error);
        }
-       if ((bp->b_flags & B_CACHE) == 0)
-               reassignbuf(bp, ITOV(ip));
        bap = bp->b_un.b_daddr;
        MALLOC(copy, daddr_t *, fs->fs_bsize, M_TEMP, M_WAITOK);
        bcopy((caddr_t)bap, (caddr_t)copy, (u_int)fs->fs_bsize);
        bap = bp->b_un.b_daddr;
        MALLOC(copy, daddr_t *, fs->fs_bsize, M_TEMP, M_WAITOK);
        bcopy((caddr_t)bap, (caddr_t)copy, (u_int)fs->fs_bsize);