Source-Changes-HG archive

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

[src/trunk]: src/sys/ufs/ffs Add the FS_SUJ flag for journaled softupdates fr...



details:   https://anonhg.NetBSD.org/src/rev/b29afd8992ce
branches:  trunk
changeset: 789688:b29afd8992ce
user:      dholland <dholland%NetBSD.org@localhost>
date:      Tue Sep 03 02:24:01 2013 +0000

description:
Add the FS_SUJ flag for journaled softupdates from FreeBSD.

This conflicts with our flag for FS_INDEXDIRS. Apparently FreeBSD
changed that arbitrarily on their end when implementing journaled
softupdates, so follow their lead.

Unfortunately, the new value they use for FS_INDEXDIRS conflicts with
our flag FS_DOQUOTA2 for 64-bit quotas. Since the only thing in our
tree that knows about FS_INDEXDIRS is dumpfs (for printing it), leave
FS_INDEXDIRS commented out.

Also add FS_NFS4ACLS from FreeBSD, commented out because it conflicts
with our FS_DOWAPBL, and FS_TRIM.

(We could honor FS_TRIM as we have code for doing that; however I'm
not sure why FreeBSD chose to make it an on-disk flag instead of e.g.
a mount option and it seems problematic to me. In any case, not in
this commit.)

Also see a post I just made in tech-kern about the flag conflicts.

diffstat:

 sys/ufs/ffs/fs.h |  7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diffs (27 lines):

diff -r dc54a8098948 -r b29afd8992ce sys/ufs/ffs/fs.h
--- a/sys/ufs/ffs/fs.h  Tue Sep 03 00:30:19 2013 +0000
+++ b/sys/ufs/ffs/fs.h  Tue Sep 03 02:24:01 2013 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: fs.h,v 1.64 2013/06/23 22:03:34 dholland Exp $ */
+/*     $NetBSD: fs.h,v 1.65 2013/09/03 02:24:01 dholland Exp $ */
 
 /*
  * Copyright (c) 1982, 1986, 1993
@@ -422,13 +422,16 @@
 #define        FS_UNCLEAN      0x001   /* file system not clean at mount (unused) */
 #define        FS_DOSOFTDEP    0x002   /* file system using soft dependencies */
 #define        FS_NEEDSFSCK    0x004   /* needs sync fsck (FreeBSD compat, unused) */
-#define        FS_INDEXDIRS    0x008   /* kernel supports indexed directories */
+#define        FS_SUJ          0x008   /* file system using journaled softupdates */
 #define        FS_ACLS         0x010   /* file system has ACLs enabled */
 #define        FS_MULTILABEL   0x020   /* file system is MAC multi-label */
 #define        FS_GJOURNAL     0x40    /* gjournaled file system */
 #define        FS_FLAGS_UPDATED 0x80   /* flags have been moved to new location */
 #define        FS_DOWAPBL      0x100   /* Write ahead physical block logging */
+/*             FS_NFS4ACLS     0x100      file system has NFSv4 ACLs enabled (FBSD) */
 #define        FS_DOQUOTA2     0x200   /* in-filesystem quotas */
+/*             FS_INDEXDIRS    0x200      kernel supports indexed directories (FBSD)*/
+#define        FS_TRIM         0x400   /* discard deleted blocks in storage layer */
 
 /* File system flags that are ok for NetBSD if set in fs_flags */
 #define        FS_KNOWN_FLAGS  (FS_DOSOFTDEP | FS_DOWAPBL | FS_DOQUOTA2)



Home | Main Index | Thread Index | Old Index