Messages in this thread | | | Date | Tue, 22 Nov 2005 16:19:37 -0500 | From | Bill Davidsen <> | Subject | Re: what is our answer to ZFS? |
| |
Chris Adams wrote: > Once upon a time, Alan Cox <alan@lxorguk.ukuu.org.uk> said: > >>It was a nice try but there is a giant gotcha most people forget. Its >>only safe to make this assumption while you have all of the >>files/directories in question open. >
Right, at the time the structures were created removable (in any sense) media usually meant 1/2 inch mag tape, not block storage. The inode was pretty well set by SysIII, IIRC. > > Tru64 adds a "st_gen" field to struct stat. It is an unsigned int that > is a "generation" counter for a particular inode. To get a collision > while creating and removing files, you'd have to remove and create a > file with the same inode 2^32 times while tar (or whatever) is running. > Here's what stat(2) says: > > Two structure members in <sys/stat.h> uniquely identify a file in a file > system: st_ino, the file serial number, and st_dev, the device id for the > directory that contains the file. > > [Tru64 UNIX] However, in the rare case when a user application has been > deleting open files, and a file serial number is reused, a third structure > member in <sys/stat.h>, the file generation number, is needed to uniquely > identify a file. This member, st_gen, is used in addition to st_ino and > st_dev. > Shades of VMS! Of course that's not unique, I believe iso9660 (CD) has versioning which is almost never used.
-- -bill davidsen (davidsen@tmr.com) "The secret to procrastination is to put things off until the last possible moment - but no longer" -me
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |