[Info-vax] fixing a saveset's attributes: attachment, not ftp
Stephen Hoffman
seaohveh at hoffmanlabs.invalid
Tue Jun 23 08:30:17 EDT 2015
On 2015-06-23 04:32:55 +0000, David Froble said:
> I would agree that it's rather trivial to get the blocksize from the
> saveset. The record format might be a bit more of a problem. After
> all, it is VMS, which has file attributes as a standard feature, and
> it's not expecting too much for BACKUP to need a few things "right".
FWIW, BACKUP does have integrity checks on the savesets. It runs
those checks after we whack the saveset settings, and re-feed the
saveset into BACKUP. As should be obvious, my preference here would
be to not have to manually whack the settings. Just do the right thing
with the saveset.
I've become quite fond of mapping entire files into memory. Of
avoiding the punched card I/O emulation, where I can. For tasks
involving blobs of data smaller than the current virtual memory limits,
it's speedy, simple and surprisingly effective. The resulting source
code is often much simpler and clearer, too. For more than the current
virtual memory limit, I've found that entirely isolating the sliding
window mapping calls or the RMS calls into unmarshalling and
marshalling routines, and then dealing with the data entirely apart
from the mapping routines or the RMS calls is often appropriate. That
separation can also let me swap out the mapping calls or RMS calls for
database calls, too.
Now mapping an entire saveset might not work well as these files can
potentially exceed the available virtual memory, but mapping the first
sector or three of the saveset and accessing what should be the BACKUP
saveset data structures for a "look around" is trivial. The downside
is that BACKUP is probably lodged in the punched-card era — that's
certainly easy to infer from the introduction of BACKUP /REPAIR, rather
than an actual and transparent and just-does-what-you-expect fix.
As for more substantive changes to OpenVMS...
There are more general issues elsewhere with the current BACKUP design.
Not the least of which is unified, reliable online data backups; what
some folks erroneously believe /IGNORE=INTERLOCK does. VSI will
probably eventually have some roadmap items and quite possibly some
wholesale replacement software planned.
Then there's integrating newer data storage and approaches for
accessing data past the punched card emulation that RMS provides.
OO frameworks make this much easier, as they just present you an object
that's all of the file data, and you don't have to deal with getting
punched cards, err, file records from or to storage. Just the
in-memory data and data structures. The framework deals with these
transfers and with unmarshalling and marshalling the data. This
analogous to how many readers here moved to RMS to avoid dealing with
what RMS provides for us, and how various folks have moved from RMS to
(for instance) relational databases.
--
Pure Personal Opinion | HoffmanLabs LLC
More information about the Info-vax
mailing list