The Question is:
Using the qualifier /ignore=interlock, backup can "backup" open files. How does
it do that?
The Answer is :
How does BACKUP provide this? Not very reliably, actually. Files
archived using BACKUP/IGNORE=INTERLOCK can see silent corruptions.
(You have to ask for this processing for a reason, and that reason
is the risk of data integrity problems within the output files; that
the data involved might not be consistent, and that potential access
collisions might or might not be reported.)
If you want to understand how the OpenVMS file sharing interlocks are
overridden at the implementation level, please see the OpenVMS RMS
documentation around file sharing.
From the OpenVMS FAQ:
Learn what /IGNORE=INTERLOCK means. This command
probably does not provide what you think it does-
those file system interlocks that this command is
ignoring were implemented for a reason, after all.
Ignoring these interlocks can lead to missed data
and potentially to corruptions to individual files
stored within the output saveset, corruptions that
may or may not be reported. For details on this
BACKUP command qualifier, please see the Ask The
Wizard topic (2467).
BACKUP acquires its access by specifying the FIB$V_NOLOCK option
in the FAB$L_ACCTL access control field passed to a sys$qio[w] call
with the function code IO$_ACCESS and the modifier IO$M_ACCESS. For
details on this QIO IO$_ACPCONTROL I/O interface and the associated
documentation, please see the I/O User's Reference Manual.
For details on how to set up an application to open a file while
permitting file sharing, please see the OpenVMS FAQ section on opening
files for shared access, and also see Ask The Wizard topics including
(2467), (2760), (2867), and (8371),