summaryrefslogtreecommitdiffstats
path: root/include/protocols
diff options
context:
space:
mode:
authorgleb <gleb@FreeBSD.org>2012-05-18 10:01:31 +0000
committergleb <gleb@FreeBSD.org>2012-05-18 10:01:31 +0000
commit1f12bc49add80da7d6b25b8c5132d62e32cb9b39 (patch)
treef068fed3d7839d7d29909d7d25779f4f222f618e /include/protocols
parentc16abb371bff05e19a93487842c3254fe6cc3078 (diff)
downloadFreeBSD-src-1f12bc49add80da7d6b25b8c5132d62e32cb9b39.zip
FreeBSD-src-1f12bc49add80da7d6b25b8c5132d62e32cb9b39.tar.gz
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
Diffstat (limited to 'include/protocols')
-rw-r--r--include/protocols/dumprestore.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/include/protocols/dumprestore.h b/include/protocols/dumprestore.h
index d6740a6..9355292 100644
--- a/include/protocols/dumprestore.h
+++ b/include/protocols/dumprestore.h
@@ -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 */
/*
OpenPOWER on IntegriCloud