On Thu, Jun 29, 2006 at 10:15:10AM +0300, Sergey Poznyakoff wrote: > > Another idea is to invent a new magic number: 070703 and corresponding > > header format: > > That would be the right way, I believe. > > > It doesn't look hugely difficult to do. > > Indeed, it doesn't. I guess I'll try to implement it. There is some more > code cleanup waiting in my queue, so when I'm through with it I'll start > working on this. Thanks for the idea.
Great, but before you start ... why not take the opportunity to fix some of the other 'issues' with the cpio format - things that would help greatly at making it a true file system backup program; eg try to backup extended attributes, ACLs, ... BTW: I am willing to help you in this, both design & coding. Some of the above will be easy, other things not so. Here is a quick dump of ideas that could be looked at: * There needs to be a distinction between the cpio header that is in memory and the one that appears in the archive. Currently there is a 1 to 1 relationship, there is no reason why the archive header cannot contain optional parts: this means that a lot more information can *potentially* be stored without making the header huge in every case. The way to implement this is to have a word of flag bits at the start, example flags: * 64 bit file length, else 32 bits. 32 bits is enough for 99.99% of files backed up * maj/minor numbers - most files don't need this. * file length - not needed at all for devices/fifos/... * Archive header: either * username/group optionally as strings rather than numbers * optionally store file access time * end of archive is marked by a flag rather than a file with a funny name. This end-of-file header could include a few things like # files archived/... * Second tapes as discussed, continuation file header. Note that the end-of-previous-tape could be occur while a file header was being written ... need to cope with that. * ACLs. I must admit that I have not looked at these for a long time. We should attempt to cannonicalise so that we write something that is OS portable. * Extended attributes. Also cannonicalise. * First file on tape fields: this could include things like: * time tape written * machine name * label -- a bit of text from the command line, eg: 'incremental backup of joe's machine' As I said, with the exception of ACLs & extended attribs none of this is difficult to do. Want to go for it ? -- Alain Williams Parliament Hill Computers Ltd. Linux Consultant - Mail systems, Web sites, Networking, Programmer, IT Lecturer. +44 (0) 787 668 0256 http://www.phcomp.co.uk/ #include <std_disclaimer.h> _______________________________________________ Bug-cpio mailing list [email protected] http://lists.gnu.org/mailman/listinfo/bug-cpio
