[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