Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 18 May 2012 10:01:31 +0000 (UTC)
From:      Gleb Kurtsou <gleb@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r235601 - head/include/protocols
Message-ID:  <201205181001.q4IA1VED044374@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: gleb
Date: Fri May 18 10:01:31 2012
New Revision: 235601
URL: http://svn.freebsd.org/changeset/base/235601

Log:
  Don't use ino_t in dumprestore protocol definition.
  
  Since ino_t size is about to change to 64-bits, replace ino_t used in
  dump protocol definition with 32-bit dump_ino_t to preserve backward
  compatibility.  At some point, it may be necessary to use spare fields
  in struct in order to fully support 64-bit inode numbers.
  
  Sponsored by:	Google Summer of Code 2011

Modified:
  head/include/protocols/dumprestore.h

Modified: head/include/protocols/dumprestore.h
==============================================================================
--- head/include/protocols/dumprestore.h	Fri May 18 09:22:21 2012	(r235600)
+++ head/include/protocols/dumprestore.h	Fri May 18 10:01:31 2012	(r235601)
@@ -65,6 +65,15 @@
 #endif
 #define CHECKSUM	(int)84446
 
+/*
+ * Since ino_t size is changing to 64-bits, yet we desire this structure to
+ * remain compatible with exiting dump formats, we do NOT use ino_t here,
+ * but rather define a 32-bit type in its place.  At some point, it may be
+ * necessary to use some of the c_spare[] in order to fully support 64-bit
+ * inode numbers.
+ */
+typedef uint32_t dump_ino_t;
+
 union u_spcl {
 	char dummy[TP_BSIZE];
 	struct	s_spcl {
@@ -73,7 +82,7 @@ union u_spcl {
 		int32_t	c_old_ddate;	    /* date of previous dump */
 		int32_t	c_volume;	    /* dump volume number */
 		int32_t	c_old_tapea;	    /* logical block of this record */
-		ino_t	c_inumber;	    /* number of inode */
+		dump_ino_t c_inumber;	    /* number of inode */
 		int32_t	c_magic;	    /* magic number (see above) */
 		int32_t	c_checksum;	    /* record checksum */
 		/*



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201205181001.q4IA1VED044374>