[Info-vax] Request description of UFS for VMS person

Bill Gunshannon billg999 at cs.uofs.edu
Tue Apr 21 19:27:27 EDT 2009


In article <176uZD2KcidF-pn2-dOeHYdP4vYQ9 at rikki.tavi.co.uk>,
	"Bob Eager" <rde42 at spamcop.net> writes:
> On Tue, 21 Apr 2009 20:42:14 UTC, JF Mezei 
> <jfmezei.spamnot at vaxination.ca> wrote:
> 
>> Bob Eager wrote:
>> 
>> > As you say, unlink just removes a directory entry; all directory entries
>> > are 'equal', so when the last one goes, the use count in the inode drops
>> > to zero. At that point, the inode is cleared and the file blocks 
>> > returned to free space.
>> > 
>> > On MS-DOS, the first byte of the directory entry was set to a special 
>> > 'deleted' value, and file blocks were marked as free. Basic, but 
>> > sufficient.
>> 
>> Does this mean that "undelete" is not possible on Unix file systems
>> because its logical equivalent to the entry in indexf is actually wiped
>> out ?
> 
> Generally, yes. However, it will depend on implementation.

I don't think so.  It is more a matter of practicality rhan technical
feasability.

> 
> Once again, it's important to realise that Unix is a rather vague term 
> used to apply to a whole set of systems that look vaguely similar and 
> may share some common ancestry. And, within each of those, there are 
> multiple kinds of file systems, each of which will have its own 
> characteristics. For example, there was a file system on UnixWare that 
> stored all files contiguously and had to be 'squeezed' from time to 
> time. 
> 
> Even UFS is problematical. There's UFS and there's UFS2. Which is not 
> quite the same as FFS. Then there are features such as soft updates and 
> snapshots, all of which have been added over time.

Yes, but if you know how the files are actually stored, there is no reason
why one could not collect all the needed blocks and put them back together.
Except, as I stated earlier, the liklihood that those blocks no longer
hold what you wanted.

> 
> So, saying 'Unix does this' is pretty meaningless. Nearly all of those 
> systems can't legally be called Unix anyway!

Legality has nothing to do with technical aspects of the problem.  Saying
that any version of BSD which can trace its roots back to the original 
Unix code is "not really Unix" is just plain silly but, more than that,
irrelevant.

>> 
>> With VMS and DOS, it was possible to undelete files because entries were
>> just flagged as available and remained until used by another file.
> 
> Yes, although on VMS you might lose parts of the file earlier if it had 
> extension headers, as that presents a bigger 'target'!

Are you saying that the blocks used by a file that has been deleted are
not going to be reused?  Assuming a decent file allocation scheme I would
expect the freed blocks to be in locations that were likely to be considered
prime real estate for the next file that needed space.

bill

-- 
Bill Gunshannon          |  de-moc-ra-cy (di mok' ra see) n.  Three wolves
billg999 at cs.scranton.edu |  and a sheep voting on what's for dinner.
University of Scranton   |
Scranton, Pennsylvania   |         #include <std.disclaimer.h>   



More information about the Info-vax mailing list