[Info-vax] Current VMS engineering quality, was: Re: What's VMS up to these

Johnny Billquist bqt at softjar.se
Sat Mar 17 02:42:43 EDT 2012


On 2012-03-16 20.44, glen herrmannsfeldt wrote:
> Johnny Billquist<bqt at softjar.se>  wrote:
>
> (snip)
>> *Yes* Despite different source code. This is not a "bug" in the source
>> code. This is an effect of the semantics of the system. It is this way
>> by design, not accident.
>
> (snip)
>
>> NFS essentially tries to give the same guarantees as a local disk based
>> filesystem. Local disk based filesystems don't "fail", except for
>> physical I/O errors that are not recoverable. NFS was designed in a way
>> that would allow it to continue if the server went down, and then came
>> up again. Thus, if you are doing an operation on an NFS filesystem and
>> the server is not responding, NFS will hang and retry until the server
>> do respond again. And this is not interruptable in any way normally. You
>> can give options to mount to tell it to not hang, and allow interrupts
>> for hanging NFS calls, but that instead means that you can silently get
>> data corruption, so just about anyone will tell you to not use those
>> options.
>
> I agree, don't use them. Never have, never will.

I normally don't either...

>> At the lower layers inside Unix (any Unix, I'd say), you cannot even
>> pass an error from something that have a file system semantics, that
>> will translate into EINTR at the user level. Since local disk like
>> devices are normally expected to always return within a very short time
>> with data, so they are not required to be interruptable.
>
> Well, yes, but if the disk did take longer, you would still want
> to wail. If you power-down an external drive, the system will
> likely also wait for it to come back.

Right. There are some weird corner cases nowadays with hot pluggable 
disks in Unix. In general, you want to unmount the disk before you 
disconnect it. However, people are sloppy. So you have a daemon that 
will try and detect a disk detach, and do an automatic unmount.
However, that is also problematic, since Unix do not allow you to 
unmount any disks which have any active file handles to it.
So they introduced this forced dismount concept, where you once more 
have processes possibly loosing data, and corrupt file systems, and all 
that. And of course, the daemon can also just outright kill any 
processes accessing the device. But this area is very problematic in Unix.
But things like USB disks are mostly FAT anyway, which is both stupid, 
robust and you don't cache it much...

> I do remember once, wanting to net boot a system that actually
> did have a disk, starting the boot and then powering on the disk.
> As well as I remember, there wasn't an option to tell it to net boot
> when there was an attached disk.

Ouch. Headaches... :-)

	Johnny



More information about the Info-vax mailing list