summaryrefslogtreecommitdiffstats
path: root/include/protocols
diff options
context:
space:
mode:
authormckusick <mckusick@FreeBSD.org>2007-02-26 08:15:56 +0000
committermckusick <mckusick@FreeBSD.org>2007-02-26 08:15:56 +0000
commit01ee9020b350e550aa823f81efbe79cba3e5cb58 (patch)
tree2804c9d36c181a4e54a05d8bca1ea7ca7d284525 /include/protocols
parent22aa654f0bcb07fd20f8c8543209224495888a8e (diff)
downloadFreeBSD-src-01ee9020b350e550aa823f81efbe79cba3e5cb58.zip
FreeBSD-src-01ee9020b350e550aa823f81efbe79cba3e5cb58.tar.gz
Update the dump program to save extended attributes. Update
the restore program to restore all dumped extended attributes. If the restore is running as root, it will always be able to restore all extended attributes. If it is not running as root, it makes a best effort to set them. Using the -v command line flag or the `verbose' command in interactive mode will display all the extended attributes being set on files (and at the end on directories) that are being restored. It will note any extended attributes that could not be set. The extended attributes are placed on the dump image immediately following each file's data. Older versions of restore can work with the newer dump images. Old versions of restore will correctly restore the file data and then (silently) skip over the extended attribute data and proceed to the next file. This resolves PR 93085 which will be closed once the code has been MFC'ed. Note that this code will not compile until these header files have been updated: <protocols/dumprestore.h> and <sys/extattr.h>. PR: bin/93085 Comments from: Poul-Henning Kamp and Robert Watson MFC after: 3 weeks
Diffstat (limited to 'include/protocols')
-rw-r--r--include/protocols/dumprestore.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/protocols/dumprestore.h b/include/protocols/dumprestore.h
index 6abf922..0b69e2d 100644
--- a/include/protocols/dumprestore.h
+++ b/include/protocols/dumprestore.h
@@ -97,7 +97,8 @@ union u_spcl {
int64_t c_birthtime; /* creation time, seconds */
int64_t c_atime; /* last access time, seconds */
int64_t c_mtime; /* last modified time, seconds */
- int32_t c_spare4[7]; /* old block pointers */
+ int32_t c_extsize; /* external attribute size */
+ int32_t c_spare4[6]; /* old block pointers */
u_int32_t c_file_flags; /* status flags (chflags) */
int32_t c_spare5[2]; /* old blocks, generation number */
u_int32_t c_uid; /* file owner */
OpenPOWER on IntegriCloud