Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

"America is a stronger nation for the ACLU's uncompromising effort." -- President John F. Kennedy


computers / comp.os.vms / Re: VMS Directory size. Are there limits ?

SubjectAuthor
o Re: VMS Directory size. Are there limits ?Ted Crane

1
Re: VMS Directory size. Are there limits ?

<bdc61f18-cce9-415e-8ab1-c4433b0be5f2n@googlegroups.com>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=27176&group=comp.os.vms#27176

  copy link   Newsgroups: comp.os.vms
X-Received: by 2002:a05:600c:a3a2:b0:3ed:1f9f:41d7 with SMTP id hn34-20020a05600ca3a200b003ed1f9f41d7mr2727789wmb.0.1678814224135;
Tue, 14 Mar 2023 10:17:04 -0700 (PDT)
X-Received: by 2002:ac8:4289:0:b0:3bf:d1e1:aad2 with SMTP id
o9-20020ac84289000000b003bfd1e1aad2mr10836521qtl.2.1678814223490; Tue, 14 Mar
2023 10:17:03 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.128.88.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.vms
Date: Tue, 14 Mar 2023 10:17:03 -0700 (PDT)
In-Reply-To: <39qqdk$no6@jac.zko.dec.com>
Injection-Info: google-groups.googlegroups.com; posting-host=209.150.231.46; posting-account=dNQ1BwoAAACN4qkX4CL3Sjn4hs6UkHHs
NNTP-Posting-Host: 209.150.231.46
References: <941107074417.26e0c6b3@MOE.SANNET.GOV> <39qdr2$f5b@gap.cco.caltech.edu>
<39qqdk$no6@jac.zko.dec.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <bdc61f18-cce9-415e-8ab1-c4433b0be5f2n@googlegroups.com>
Subject: Re: VMS Directory size. Are there limits ?
From: tedcrane...@gmail.com (Ted Crane)
Injection-Date: Tue, 14 Mar 2023 17:17:04 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Ted Crane - Tue, 14 Mar 2023 17:17 UTC

OK. So 30 years have passed us by on this topic. I have no idea whether VMS ever offered a solution to this problem--my systems are still running VMS 7.0 and 7.1--but I'll offer a DCL procedure I created about 30 years ago to "compress" MAIL directories. I've written better stuff since, but this still works.

It's worth noting that the .MAI files are moved to 256 smaller directories, starting from the "end" of the main MAIL directory. The moving process is slow at first and gets much faster toward the end. The process is reversed when restoring the original MAIL directory...and proceeds much more quickly..

Side comment: It's too bad that VMS MAIL didn't implement the kind of directory structure this procedure uses. It would have made MAIL far less vulnerable to large directories.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

$ inquire SURE "Go directly to restore"
$ if SURE then goto RESTORE
$ $ if f$search("[SITE.LOGIN]MAIL2.DIR").eqs.""
$ then
$ create/directory/log [SITE.LOGIN.MAIL2]
$ else
$ dir [SITE.LOGIN.MAIL2...]/exc=*.DIR
$ inquire SURE "Is nothing in MAIL2? Continue"
$ if .not.SURE then exit
$ delete/log [SITE.LOGIN.MAIL2...]*.DIR;
$ delete/log [SITE.LOGIN.MAIL2...]*.DIR;
$ delete/log [SITE.LOGIN.MAIL2...]*.DIR;
$ endif
$ $ set noon
$ $!
$! Create the required temporary subdirectories
$! Save individual mail files from MAIL to MAIL2
$!
$ NUM = 255
$LOOP_SAVE:
$ TEXT = f$fao("!2XL",NUM)
$ show time
$ create/directory/allocation=16 [SITE.LOGIN.MAIL2.'TEXT']
$ rename/log [SITE.LOGIN.MAIL]MAIL$'TEXT'*.MAI [SITE.LOGIN.MAIL2.'TEXT']
$ NUM = NUM - 1
$ if NUM.ge.0 then goto LOOP_SAVE
$ $!
$! Save remaining stuff from MAIL to MAIL2
$!
$ rename/log [SITE.LOGIN.MAIL]*.* [SITE.LOGIN.MAIL2]
$ $RESTORE:
$ $!
$! Confirm that we should proceed backwards
$!
$ dir [SITE.LOGIN.MAIL...]
$ show time
$ inquire SURE "Is nothing in MAIL? Continue"
$ $!
$! Restore the root file first, just in case
$!
$ rename/log [SITE.LOGIN.MAIL2]MAIL.MAI; [SITE.LOGIN.MAIL]
$ $!
$! Restore individual mail files from MAIL2 to MAIL
$! Remove the temporary subdirectories
$!
$ NUM = 0
$LOOP_RESTORE:
$ TEXT = f$fao("!2XL",NUM)
$ show time
$ if f$search("[SITE.LOGIN.MAIL2]''TEXT'.DIR").nes.""
$ then
$ rename/log [SITE.LOGIN.MAIL2.'TEXT']MAIL$'TEXT'*.MAI [SITE.LOGIN.MAIL]
$ delete/log [SITE.LOGIN.MAIL2]'TEXT'.DIR;
$ endif
$ NUM = NUM + 1
$ if NUM.lt.256 then goto LOOP_RESTORE
$ $!
$! Restore remaining stuff from MAIL to MAIL2
$!
$ rename/log [SITE.LOGIN.MAIL2]*.* [SITE.LOGIN.MAIL]
$ $!
$! Remove temporary directory
$!
$ if f$search("[SITE.LOGIN.MAIL2...]*.*;*").eqs.""
$ then
$ set file/protection=(world:rwed) [SITE.LOGIN]MAIL2.dir;
$ delete/log [SITE.LOGIN]MAIL2.dir;
$ else
$ write sys$output "MAIL2 is not empty!"
$ endif
$ $ exit

1
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor