From: Eric Sandeen <sandeen@sandeen.net>
To: Eric Sandeen <sandeen@redhat.com>
Cc: xfs-oss <xfs@oss.sgi.com>
Subject: [PATCH 2/3] xfsdump: default to V3, use V4 if projid32bit is set
Date: Fri, 12 Oct 2012 16:37:30 -0500 [thread overview]
Message-ID: <50788D9A.8080302@sandeen.net> (raw)
In-Reply-To: <50788C50.40600@redhat.com>
Because 32-bit project ID is not default and semi-rare,
default to version 3 dumps unless dumping a filesystem
with the 32-bit project ID feature flag set.
XFS_FSOP_GEOM_FLAGS_PROJID32 is a newish flag so I've
redefined it here just in caes as well.
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
---
diff --git a/common/fs.h b/common/fs.h
index 878385b..7e63f8e 100644
--- a/common/fs.h
+++ b/common/fs.h
@@ -26,6 +26,10 @@
#define FS_MAXNAMELEN_DEFAULT 256
#define FS_MAXPATHLEN_DEFAULT 1024
+#ifndef XFS_FSOP_GEOM_FLAGS_PROJID32
+#define XFS_FSOP_GEOM_FLAGS_PROJID32 0x0800
+#endif
+
/* fs_info - decides if a source name describes a file system, and if
* so returns useful information about that file system.
*
diff --git a/common/global.h b/common/global.h
index 5138ed8..a847c5d 100644
--- a/common/global.h
+++ b/common/global.h
@@ -29,14 +29,14 @@
#define GLOBAL_HDR_VERSION_2 2
#define GLOBAL_HDR_VERSION_3 3
#define GLOBAL_HDR_VERSION_4 4
- /* version 4 adds 32-bit projid (projid_hi)
+ /* version 4 adds 32-bit projid (projid_hi) only used if projid32 in place.
* version 3 uses the full 32-bit inode generation number in direnthdr_t.
* version 2 adds encoding of holes and a change to on-tape inventory format.
* version 1 adds extended file attribute dumping.
* version 0 xfsrestore can't handle media produced
* by version 1 xfsdump.
*/
-#define GLOBAL_HDR_VERSION GLOBAL_HDR_VERSION_4
+#define GLOBAL_HDR_VERSION GLOBAL_HDR_VERSION_3
#define GLOBAL_HDR_STRING_SZ 0x100
#define GLOBAL_HDR_TIME_SZ 4
diff --git a/dump/content.c b/dump/content.c
index 9ed8459..94ca787 100644
--- a/dump/content.c
+++ b/dump/content.c
@@ -791,6 +791,15 @@ content_init( intgen_t argc,
srcname );
return BOOL_FALSE;
}
+
+ /* If 32 bit project IDs are in use, bump the header version */
+ if ((fsflags & XFS_FSOP_GEOM_FLAGS_PROJID32) &&
+ gwhdrtemplatep->gh_version < GLOBAL_HDR_VERSION_4) {
+ mlog( MLOG_NORMAL | MLOG_NOTE, _(
+ "32bit project ids in use, bumping to dump version 4\n"));
+ gwhdrtemplatep->gh_version = GLOBAL_HDR_VERSION_4;
+ }
+
/* place the fs info in the write hdr template
*/
( void )strncpyterm( cwhdrtemplatep->ch_mntpnt,
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
next prev parent reply other threads:[~2012-10-12 21:35 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-12 21:32 [PATCH 0/3] xfsdump: more projid32bit fixes Eric Sandeen
2012-10-12 21:35 ` [PATCH 1/3] xfsdump: extend fs_info to gather fs feature flags Eric Sandeen
2012-11-09 18:31 ` Rich Johnston
2012-10-12 21:37 ` Eric Sandeen [this message]
2012-11-09 18:31 ` [PATCH 2/3] xfsdump: default to V3, use V4 if projid32bit is set Rich Johnston
2012-11-09 18:32 ` Eric Sandeen
2012-10-12 21:42 ` [PATCH 3/3] xfsdump: refuse restore of V4 format unless FS has projid32bit set Eric Sandeen
2012-11-09 18:32 ` Rich Johnston
2012-10-22 14:36 ` [PATCH 0/3] xfsdump: more projid32bit fixes Eric Sandeen
2012-10-22 15:56 ` Ben Myers
2012-10-22 16:22 ` Eric Sandeen
2012-10-22 20:24 ` Ben Myers
2012-10-22 20:30 ` Eric Sandeen
2012-10-22 20:11 ` Eric Sandeen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=50788D9A.8080302@sandeen.net \
--to=sandeen@sandeen.net \
--cc=sandeen@redhat.com \
--cc=xfs@oss.sgi.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.