Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-6-1]: src Pull up following revision(s) (requested by martin in t...



details:   https://anonhg.NetBSD.org/src/rev/2c07dd11d071
branches:  netbsd-6-1
changeset: 776147:2c07dd11d071
user:      bouyer <bouyer%NetBSD.org@localhost>
date:      Sat Aug 27 14:41:48 2016 +0000

description:
Pull up following revision(s) (requested by martin in ticket #1395):
        sys/ufs/ffs/ffs_vfsops.c: revision 1.340
        usr.sbin/quot/quot.c: revision 1.34
        sbin/fsdb/fsdb.c: revision 1.49
>From Michael Plass:
The superblock field that distinguishes between 4.2BSD and 4.4BSD
inodes is really only relevant on a UFS1 file system. Make sure that
it is a UFS1 fs before using fs_old_inodefmt.
Note that the NetBSD newfs and mkfs utilities initialize fs_old_inodefmt
even for UFS2, so problems were apparent only on file systems created
by other operating systems, for example, FreeBSD.

diffstat:

 sbin/fsdb/fsdb.c         |   6 +++---
 sys/ufs/ffs/ffs_vfsops.c |  10 ++++++----
 usr.sbin/quot/quot.c     |   7 ++++---
 3 files changed, 13 insertions(+), 10 deletions(-)

diffs (93 lines):

diff -r 6f70930ab3f0 -r 2c07dd11d071 sbin/fsdb/fsdb.c
--- a/sbin/fsdb/fsdb.c  Sat Aug 27 13:23:24 2016 +0000
+++ b/sbin/fsdb/fsdb.c  Sat Aug 27 14:41:48 2016 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: fsdb.c,v 1.43 2011/08/29 14:34:59 joerg Exp $  */
+/*     $NetBSD: fsdb.c,v 1.43.10.1 2016/08/27 14:41:48 bouyer Exp $    */
 
 /*-
  * Copyright (c) 1996 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
 
 #include <sys/cdefs.h>
 #ifndef lint
-__RCSID("$NetBSD: fsdb.c,v 1.43 2011/08/29 14:34:59 joerg Exp $");
+__RCSID("$NetBSD: fsdb.c,v 1.43.10.1 2016/08/27 14:41:48 bouyer Exp $");
 #endif /* not lint */
 
 #include <sys/types.h>
@@ -1235,7 +1235,7 @@
                        return 1;
                }
        }
-       if (sblock->fs_old_inodefmt < FS_44INODEFMT)
+       if (!is_ufs2 && sblock->fs_old_inodefmt < FS_44INODEFMT)
                curinode->dp1.di_ogid = iswap32(gid);
        else
                DIP_SET(curinode, gid, iswap32(gid));
diff -r 6f70930ab3f0 -r 2c07dd11d071 sys/ufs/ffs/ffs_vfsops.c
--- a/sys/ufs/ffs/ffs_vfsops.c  Sat Aug 27 13:23:24 2016 +0000
+++ b/sys/ufs/ffs/ffs_vfsops.c  Sat Aug 27 14:41:48 2016 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: ffs_vfsops.c,v 1.275.2.2.4.1 2014/04/21 10:17:47 bouyer Exp $  */
+/*     $NetBSD: ffs_vfsops.c,v 1.275.2.2.4.2 2016/08/27 14:41:48 bouyer Exp $  */
 
 /*-
  * Copyright (c) 2008, 2009 The NetBSD Foundation, Inc.
@@ -61,7 +61,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ffs_vfsops.c,v 1.275.2.2.4.1 2014/04/21 10:17:47 bouyer Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ffs_vfsops.c,v 1.275.2.2.4.2 2016/08/27 14:41:48 bouyer Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_ffs.h"
@@ -1360,7 +1360,8 @@
                fs->fs_old_trackskew = 0;
        }
 
-       if (fs->fs_old_inodefmt < FS_44INODEFMT) {
+       if (fs->fs_magic == FS_UFS1_MAGIC &&
+           fs->fs_old_inodefmt < FS_44INODEFMT) {
                fs->fs_maxfilesize = (u_quad_t) 1LL << 39;
                fs->fs_qbmask = ~fs->fs_bmask;
                fs->fs_qfmask = ~fs->fs_fmask;
@@ -1874,7 +1875,8 @@
         * fix until fsck has been changed to do the update.
         */
 
-       if (fs->fs_old_inodefmt < FS_44INODEFMT) {              /* XXX */
+       if (fs->fs_magic == FS_UFS1_MAGIC &&                    /* XXX */
+           fs->fs_old_inodefmt < FS_44INODEFMT) {              /* XXX */
                ip->i_uid = ip->i_ffs1_ouid;                    /* XXX */
                ip->i_gid = ip->i_ffs1_ogid;                    /* XXX */
        }                                                       /* XXX */
diff -r 6f70930ab3f0 -r 2c07dd11d071 usr.sbin/quot/quot.c
--- a/usr.sbin/quot/quot.c      Sat Aug 27 13:23:24 2016 +0000
+++ b/usr.sbin/quot/quot.c      Sat Aug 27 14:41:48 2016 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: quot.c,v 1.29 2011/03/06 23:41:47 christos Exp $       */
+/*     $NetBSD: quot.c,v 1.29.14.1 2016/08/27 14:41:48 bouyer Exp $    */
 
 /*
  * Copyright (C) 1991, 1994 Wolfgang Solfrank.
@@ -33,7 +33,7 @@
 
 #include <sys/cdefs.h>
 #ifndef lint
-__RCSID("$NetBSD: quot.c,v 1.29 2011/03/06 23:41:47 christos Exp $");
+__RCSID("$NetBSD: quot.c,v 1.29.14.1 2016/08/27 14:41:48 bouyer Exp $");
 #endif /* not lint */
 
 #include <sys/param.h>
@@ -517,7 +517,8 @@
 {
        int i;
 
-       if (fs->fs_old_inodefmt < FS_44INODEFMT) {
+       if (fs->fs_magic == FS_UFS1_MAGIC &&
+           fs->fs_old_inodefmt < FS_44INODEFMT) {
                quad_t sizepb = fs->fs_bsize;
 
                fs->fs_maxfilesize = fs->fs_bsize * NDADDR - 1;



Home | Main Index | Thread Index | Old Index