xfs
[Top] [All Lists]

Re: [PATCH 2/3] xfsdump: default to V3, use V4 if projid32bit is set

To: Eric Sandeen <sandeen@xxxxxxxxxxx>
Subject: Re: [PATCH 2/3] xfsdump: default to V3, use V4 if projid32bit is set
From: Rich Johnston <rjohnston@xxxxxxx>
Date: Fri, 9 Nov 2012 12:31:46 -0600
Cc: Eric Sandeen <sandeen@xxxxxxxxxx>, xfs-oss <xfs@xxxxxxxxxxx>
In-reply-to: <50788D9A.8080302@xxxxxxxxxxx>
References: <50788C50.40600@xxxxxxxxxx> <50788D9A.8080302@xxxxxxxxxxx>
User-agent: Mozilla/5.0 (X11; Linux i686; rv:13.0) Gecko/20120615 Thunderbird/13.0.1
On 10/12/2012 04:37 PM, Eric Sandeen wrote:
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@xxxxxxxxxx>
---

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
Hmm looks a a patch from your previous version.
-       /* 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

I used the following for testing purposes.

Index: b/common/global.h
===================================================================
--- a/common/global.h
+++ b/common/global.h
@@ -28,7 +28,9 @@
 #define GLOBAL_HDR_VERSION_1   1
 #define GLOBAL_HDR_VERSION_2   2
 #define GLOBAL_HDR_VERSION_3   3
-       /* version 3 uses the full 32-bit inode generation number in 
direnthdr_t.
+#define GLOBAL_HDR_VERSION_4   4
+ /* 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


Rest of the patch looks good. Correct the common/global.h section and you can add a:

Reviewed-by Rich Johnston <rjohnston@xxxxxxx>

<Prev in Thread] Current Thread [Next in Thread>