Keyboard Shortcuts
Likes
- H390-MVS
- Messages
Search
Re: I wonder if there is a standard approved way to expand SYS2.LINKLIB?
Hi Clem, Now that we have a fully functional RECV/XMIT commands, courtesy of Bob Polmanter’s NJE38 contribution, the preferred method of distribution for contributions is to distribute a single XMIT file. This technique has advantages over the distribution of a DASD volume as it requires no modifications to the Hercules startup, VATLST changes and reduces possible installation errors due to incorrect UCB assignments. First step is to select a suitable HLQ qualifier for your contribution. Page 12 of the TK5 Introduction and User Manual lists HLQs already used in the TK5 Catalog environment. However, I suggest you contact Rob Prins with your choice of HLQ just to make sure it has not been used by some other contribution in the TK5 update pipeline. The best way to understand the XMIT distribution technique is to look at an example where it is used in the TK5 environment. I use the XMIT technique to distribute the OS/360 S/M Program for MVS 3.8 and also for Algol F. As you are a TK5 user can I suggest you view SORT.MVS38.CNTL? First member to look at is $INSTALL. This job cleans up any previous installations of the S/M program and then does a RECEIVE of the various S/M data sets from a data set named INSTALL.SORT. To help contributors build installation processes Rob provides a HLQ of INSTALL to bring the initial XMIT distribution data set into the TK5 environment. The S/M Program replaces SYS1.SORTLIB so it has an additional step to deal with that situation. Then, various modules, JCL Procs etc are copied to their relevant libraries as required by your contribution. The contribution is now installed. So, how to build the initial XMIT data set for distribution? Please view member BLDDIST. First step cleans up from any previous build jobs. The development libraries for the S/M Program all have a HLQ of SYSD in my environment and some of then contain JCL or source that is my testing etc and not needed for distribution. The JCL selects the appropriate members and then uses XMIT to place all the data sets into members of a work data set that is finally XMITed as INSTALL.SORT.XMI for download to the PC and then distributed. Note that the documentation is also distributed in this way as well. Basically, the technique uses an XMIT of XMITed members in a PDS to build a single distribution data set. ? The installation instructions are quite straightforward -------------------------------------------------- 1. Upload the INSTALL.SORT.XMI PC File. Using IND$FILE PC File Transfer, or any other appropriate file transfer method, upload the INSTALLSORT.XMI PC file to the target TK5 environment ensuring the uploaded MVS data set has DCB parameters of RECFM=FB,LRECL=80,BLKSIZE=27920 2. RECEIVE the Installation PDS. Issue the following command at a TSO READY prompt: RECEIVE INDS('INSTALL.SORT.XMI') NOPROMPT DSN('INSTALL.SORT') VOL(TK5002) 3. Install the Sort/Merge Program The Sort/Merge libraries can now be extracted from the installation PDS using the TSO RECEIVE command running in TSO batch mode. Member $INSTALL in the data set INSTALLSORT contains the installation JCL. Customize this to conform to site standards and submit the job. -------------------------------------------------- You would need to provide an additional step to modify the LNKLST member with your load module library and then IPL to complete the installation process. While there is a little more work for you as the developer to build this process for the first time the major benefit is ease of installation for the user which is the most important consideration. As you so correctly remarked, “mistakes have been made in the past”, best to make the installation as simple as possible. Regards Tom |
Re: I wonder if there is a standard approved way to expand SYS2.LINKLIB?
Thanks Tom. I have spent a few days shuffling data sets around and thinking.? I think I'll just send it as a compressed 3390 volume.? And do as you say, provide a job to update Parmlib.? However, that still leaves Sys2.Proclib and Sys2.Cmdlib.? I just want it to be dead simple to install and try out. Mistakes have been made in the past! I think we used to keep all our SYS2 type programs on seperate DASD devices, didn't we? Perhaps it might be worthwhile thinking about doing it again? Maybe set up some SYS3 datasets, ?even? On a different drive? Just a thought... Clem ![]() On Fri, Oct 25, 2024 at 10:02?AM Tom Armstrong via <tomarmstrong255=[email protected]> wrote:
|
Re: I wonder if there is a standard approved way to expand SYS2.LINKLIB?
Thanks Rob. I altered the JCL to add the volume as *.? Then it is all relatively automatic, and hopefully not prone to errors.? After an IPL, the old SYS2.LINKLIB can be manually deleted. I think all the work done by you (and others, of course) is absolutely fabulous.? Very well done! Clem //HERC01S ?JOB (ACCNT),'ENLARGE SYS2.LINKLIB',CLASS=A,MSGCLASS=X, ? ? // ? ? ? ? NOTIFY=HERC01 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //*** //* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //* ?DESC: ENLARGE SYS2.LINKLIB ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //* ?NOTES: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //* ?1) AS DISTRIBUTED WITH HERCULES TK5, THE LIBRARY ? ? ? ? ? ? ? ? //* ? ? IS TOO SMALL TO COPY IN SOME NEW LARGER LOAD MODULES. ? ? ? ? //* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //* ?2) THIS PROCEDURE COPIES THE SYS2.LINKLIB INTO ? ? ? ? ? ? ? ? ? //* ? ? A LARGER PDS, AND RENAMES THE LIBRARY. ? ? ? ? ? ? ? ? ? ? ? ? //* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //* ?3) A REIPL IS NECESSARY TO USE THE NEW LIBARY. ? ? ? ? ? ? ? ? ? //* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //*** //* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //DELCOPY ?EXEC PGM=IEFBR14 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //DEL ? ? ?DD ?DSN=SYS2.LINKLIB.COPY,DISP=(MOD,DELETE), ? ? ? ? ? ? ? // ? ? ? ? ? ? VOL=REF=SYS2.LINKLIB,SPACE=(TRK,(1,,1)) ? ? ? ? ? ? ? ? //* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //COPYBR14 EXEC PGM=IEBCOPY ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //SYSPRINT DD ?SYSOUT=* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //SYSUT1 ? DD ?DISP=SHR,DSN=SYS2.LINKLIB ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //SYSUT2 ? DD ?DSN=SYS2.LINKLIB.COPY,DISP=(NEW,CATLG,DELETE), ? ? ? ? // ? ? ? ? ? ? VOL=REF=SYS2.LINKLIB,DCB=(RECFM=U,BLKSIZE=32760), ? ? ? // ? ? ? ? ? ? SPACE=(CYL,(50,,210),,CONTIG) ? ? ? ? ? ? ? ? ? ? ? ? ? //SYSIN ? ?DD ?* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?C I=((SYSUT1,R)),O=SYSUT2 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //RENAMES ?EXEC PGM=IKJEFT01,COND=(0,NE) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //SYSTSPRT DD ?SYSOUT=* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //SYSTSIN ?DD ?* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?RENAME 'SYS2.LINKLIB' 'SYS2.LINKLIB.OLD' ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?RENAME 'SYS2.LINKLIB.COPY' 'SYS2.LINKLIB' ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?DELETE SYS2.LINKLIB NOSCRATCH ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?DEFINE NONVSAM(NAME('SYS2.LINKLIB') DEVT(3390) VOL(*)) ? ? ? ? //*? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ![]() On Fri, Oct 25, 2024 at 3:19?AM Rob Prins via <prin0096=[email protected]> wrote:
|
Re: eqqdelds
开云体育Rene, First, I apologize if I came across in some manner to offend – NOT my intention.? I did NOT take into account your experience – Again, Please – forgive. ? ? I was suggesting that while there ARE solutions in the world today – (in this case the licensed Tivoli module) – I feel strongly (of course your view is entirely yours and we can certainly have different views) that for our TK5 environment –( I.E. hobbyist and learning) – trying to use same is again, IN MY OPINION – probably not the best choice – ?
-J- ? Jeff Bassett (301) 424-3362 (office) (240) 388-7148 Cell ? Time spent flying? - is NOT deducted from one’s lifespan ? From: [email protected] <[email protected]>
On Behalf Of rvjansen@... via groups.io
Sent: Thursday, October 31, 2024 6:13 PM To: [email protected] Subject: Re: [H390-MVS] eqqdelds ? Jeff, ? Thank you - I fail to see the relevance of it being part of a licensed program or that fact being uppercased. ?I just wanted to know if someone made equivalent functionality yet and whether that might be in TK5. I mostly use GDG?s or the IDCAMS approach but I see the point of this more modern approach. ? Yes. Of course I can roll my own using JFCB and the dynalloc SVC. I am not going to waste time on that if someone put that together already but might do if nobody did. ? I cannot parse the logic of your ‘strong’ ?suggestion to ‘ignore a program that may or not be available in TK5’ - I don’t even know what that means.? ? Also, I put JCL together for just about 40 years now - so mentioning the learning experience is also a bit irrelevant for the issue at hand. ? 搁别苍é.
|
Re: eqqdelds
Is correct exist any form to do this, also think from cobol can call rexx program o clist, but si necesary time to test and know how do this. Is good have code to share as wiki
|
Re: eqqdelds
开云体育Jeff,Thank you - I fail to see the relevance of it being part of a licensed program or that fact being uppercased. ?I just wanted to know if someone made equivalent functionality yet and whether that might be in TK5. I mostly use GDG?s or the IDCAMS approach but I see the point of this more modern approach. Yes. Of course I can roll my own using JFCB and the dynalloc SVC. I am not going to waste time on that if someone put that together already but might do if nobody did. I cannot parse the logic of your ‘strong’ ?suggestion to ‘ignore a program that may or not be available in TK5’ - I don’t even know what that means.? Also, I put JCL together for just about 40 years now - so mentioning the learning experience is also a bit irrelevant for the issue at hand. 搁别苍é. On 31 Oct 2024, at 22:22, Jeff Bassett <bassettj@...> wrote:
|
Re: eqqdelds
开云体育Rene, I totally agree – as with many things – there are MANY ways to reach the end goal – IEFBR14 of course, really is only a few instructions – to clear some registers and return – (there are many stories of apars against IEFBR14 over the years) So, running IEFBR14 is actually only using the Interpreter portion of JCL processing.?? (and of course the step initialization and termination) ? There are even some places where we attempt to structure jobs to COMBINE steps – due to the high overhead of each step – (when there are situations that include hundreds or thousands of steps – this can be a big deal) – ? ?
-J- ? Jeff Bassett (301) 424-3362 (office) (240) 388-7148 Cell ? Time spent flying? - is NOT deducted from one’s lifespan ? From: [email protected] <[email protected]>
On Behalf Of Rene BRANDT via groups.io
Sent: Thursday, October 31, 2024 5:53 PM To: [email protected] Subject: Re: [H390-MVS] eqqdelds ? If the file doesn't exist you have to give the space parameter Le jeudi 31 octobre 2024 à 22:39:19 UTC+1, Rene BRANDT via groups.io <rbr146@...> a écrit : ? ? Hi, Le jeudi 31 octobre 2024 à 22:22:23 UTC+1, Jeff Bassett <bassettj@...> a écrit : ? ? Rene, Yes, that program is part of a LICENSED PROGRAM (Tivoli Workload Scheduler) – I STRONGLY suggest you ignore a program that may or may not be available in the TK5 environment - and code either IEFBR14, ?IDCAMS or IEHPROGM Using supplied utilities – OR – as Jose states, you certainly can ROLL your OWN - ? ? IEFBR14 will of course FAIL if the data set is not there to delete – quick and dirty ? IDCAMS will deal with catalogs – and is more robust and you can check and set the MAX return code - ? Old tricks – on ANY job that is going to create new data sets – simply add a IDCAMS step prior to the create step to delete – this will insure you will not fail for duplicate data sets.? – set the MAXRC and check the Return code – if required – or set MAXRC to zero and go on to the next step. ? Or – there may be reason to rename the existing data set if it exists -? IDCAMS can handle that too - ? Coding JCL is a learning experience – and will become second nature if you do it enough ? ? -J- ? Jeff Bassett (301) 424-3362 (office) (240) 388-7148 Cell ? Time spent flying? - isNOT deducted from one’s lifespan ? From:
[email protected] <[email protected]>On Behalf Of
jose via groups.io ? I think You can build a utility to create a job that delete files,.with cobol,. Utility examine jcl syntaxis. On control-m exist a utility to delete.files. ? El jue., 31 de octubre de 2024 4:58 a. m., rvjansen@... via <rvjansen=[email protected]> escribió:
|
Re: eqqdelds
If the file doesn't exist you have to give the space parameter SPACE=(TRK,1) is enough (with SMS) 搁别苍é Le jeudi 31 octobre 2024 à 22:39:19 UTC+1, Rene BRANDT via groups.io <rbr146@...> a écrit : Hi, With IEFBR14 and DISP=(MOD,DELETE) it runs every time and take very few cpu time compared to IDCAMS 搁别苍é Le jeudi 31 octobre 2024 à 22:22:23 UTC+1, Jeff Bassett <bassettj@...> a écrit : Rene, Yes, that program is part of a LICENSED PROGRAM (Tivoli Workload Scheduler) – I STRONGLY suggest you ignore a program that may or may not be available in the TK5 environment - and code either IEFBR14, ?IDCAMS or IEHPROGM Using supplied utilities – OR – as Jose states, you certainly can ROLL your OWN - ? ? IEFBR14 will of course FAIL if the data set is not there to delete – quick and dirty ? IDCAMS will deal with catalogs – and is more robust and you can check and set the MAX return code - ? Old tricks – on ANY job that is going to create new data sets – simply add a IDCAMS step prior to the create step to delete – this will insure you will not fail for duplicate data sets.? – set the MAXRC and check the Return code – if required – or set MAXRC to zero and go on to the next step. ? Or – there may be reason to rename the existing data set if it exists -? IDCAMS can handle that too - ? Coding JCL is a learning experience – and will become second nature if you do it enough ? ?
-J- ? Jeff Bassett (301) 424-3362 (office) (240) 388-7148 Cell ? Time spent flying? - isNOT deducted from one’s lifespan ? From: [email protected] <[email protected]>On Behalf Of jose via groups.io
Sent: Thursday, October 31, 2024 3:50 PM To: [email protected] Subject: Re: [H390-MVS] eqqdelds ? I think You can build a utility to create a job that delete files,.with cobol,. Utility examine jcl syntaxis. On control-m exist a utility to delete.files. ? El jue., 31 de octubre de 2024 4:58 a. m., rvjansen@... via <rvjansen=[email protected]> escribió:
|
Re: eqqdelds
Hi, With IEFBR14 and DISP=(MOD,DELETE) it runs every time and take very few cpu time compared to IDCAMS 搁别苍é Le jeudi 31 octobre 2024 à 22:22:23 UTC+1, Jeff Bassett <bassettj@...> a écrit : Rene, Yes, that program is part of a LICENSED PROGRAM (Tivoli Workload Scheduler) – I STRONGLY suggest you ignore a program that may or may not be available in the TK5 environment - and code either IEFBR14, ?IDCAMS or IEHPROGM Using supplied utilities – OR – as Jose states, you certainly can ROLL your OWN - ? ? IEFBR14 will of course FAIL if the data set is not there to delete – quick and dirty ? IDCAMS will deal with catalogs – and is more robust and you can check and set the MAX return code - ? Old tricks – on ANY job that is going to create new data sets – simply add a IDCAMS step prior to the create step to delete – this will insure you will not fail for duplicate data sets.? – set the MAXRC and check the Return code – if required – or set MAXRC to zero and go on to the next step. ? Or – there may be reason to rename the existing data set if it exists -? IDCAMS can handle that too - ? Coding JCL is a learning experience – and will become second nature if you do it enough ? ?
-J- ? Jeff Bassett (301) 424-3362 (office) (240) 388-7148 Cell ? Time spent flying? - isNOT deducted from one’s lifespan ? From: [email protected] <[email protected]>On Behalf Of jose via groups.io
Sent: Thursday, October 31, 2024 3:50 PM To: [email protected] Subject: Re: [H390-MVS] eqqdelds ? I think You can build a utility to create a job that delete files,.with cobol,. Utility examine jcl syntaxis. On control-m exist a utility to delete.files. ? El jue., 31 de octubre de 2024 4:58 a. m., rvjansen@... via <rvjansen=[email protected]> escribió:
|
Re: eqqdelds
开云体育Rene, Yes, that program is part of a LICENSED PROGRAM (Tivoli Workload Scheduler) – I STRONGLY suggest you ignore a program that may or may not be available in the TK5 environment - and code either IEFBR14, ?IDCAMS or IEHPROGM Using supplied utilities – OR – as Jose states, you certainly can ROLL your OWN - ? ? IEFBR14 will of course FAIL if the data set is not there to delete – quick and dirty ? IDCAMS will deal with catalogs – and is more robust and you can check and set the MAX return code - ? Old tricks – on ANY job that is going to create new data sets – simply add a IDCAMS step prior to the create step to delete – this will insure you will not fail for duplicate data sets.? – set the MAXRC and check the Return code – if required – or set MAXRC to zero and go on to the next step. ? Or – there may be reason to rename the existing data set if it exists -? IDCAMS can handle that too - ? Coding JCL is a learning experience – and will become second nature if you do it enough ? ?
-J- ? Jeff Bassett (301) 424-3362 (office) (240) 388-7148 Cell ? Time spent flying? - is NOT deducted from one’s lifespan ? From: [email protected] <[email protected]>
On Behalf Of jose via groups.io
Sent: Thursday, October 31, 2024 3:50 PM To: [email protected] Subject: Re: [H390-MVS] eqqdelds ? I think You can build a utility to create a job that delete files,.with cobol,. Utility examine jcl syntaxis. On control-m exist a utility to delete.files. ? El jue., 31 de octubre de 2024 4:58 a. m., rvjansen@... via <rvjansen=[email protected]> escribió:
|
Re: eqqdelds
I think You can build a utility to create a job that delete files,.with cobol,. Utility examine jcl syntaxis. On control-m exist a utility to delete.files.
|
Re: Understanding PDS in MVS 3.8
On 31/10/2024 7:48 am, jacampbellaus via groups.io wrote:
Should have added - a PDS directory block is a keyed block.Yes, to calculate the number of directory blocks that will fit on a track, you need to account for 256-byte data blocks each with an 8-byte key. Also, to calculate the space required by a PDS (as compared to a sequential data set) you need to account for an EOF marker at the end of the PDS directory and an EOF marker at the end of every member.? Most of the time, meaning for most DASD types, when aiming for the PDS directory to occupy an integral number of tracks, the trick is to multiply the desired number of tracks by the number of PDS blocks per track (for that device type), and then subtract one to leave room for the EOF marker. A sequential data set does not end with an EOF marker - although it could be read successfully if it did. The VTOC entry of PS (and PO) data sets contains the TTR of the last record written.? With DISP=MOD (or OPEN EXTEND (or OUTINX) with DISP=OLD or DISP=SHR), the first block appended will be the block after the previous "last block written".? The track balance field in the VTOC informs the access method as to what size is the largest bock that will fit on the track with the previous last block. Accordingly, the first newly appended block will either fit on the previous last track or will be the first block on the next (relative) track. DISP=MOD and OPEN EXTEND are not allowed for PDSes (or even for PDSEs). IBM's ISPF option 3.2 always did an OPEN/CLOSE cycle on a newly allocated sequential data set.? We used to say that it wrote an EOF marker, but probably what it really ended up doing was erasing all blocks on the first track.? Compare this to a PGM=IEFBR14 (or any other program) step that creates a new sequential data set with JCL.? Make the block size big enough and you can read any residual data that previously occupied those tracks (assuming no RACF erase-on-scratch facility or similar). Later on, SMS-managed sequential data sets allocated by JCL also got the EOF marker or first track erased thing done. RFE option 3.2 does not do an open/close cycle when allocating new sequential data sets. Rob can tell us what happens with the equivalent case when using RPF. Cheers, Greg |
eqqdelds
Hi group members. I learned something new today: where I used to delete datasets (needed to be allocated later in the job) using IEFBR14 or IDCAMS, there is a program called EQQDELDS (part of TWS if I'm not mistaken) that can look at DD statements in following job steps and delete every dataset which already is catalogued, but will be allocated again with disp(new,delete) or disp(new,catlg).
?
Is there a program with equivalent functionality in TK5? Outside of TK5? Or is somebody willing to look into that so I can upgrade some of my JCL and be quicker with new JCL? A quick web search turned up nothing.
?
Please let me know.
?
best regards,
?
搁别苍é Jansen. |
Re: Understanding PDS in MVS 3.8
Should have added - a PDS directory block is a keyed block.? So with one directory block, a track will look like:
- Directory CKD record - Directory Key record - with the high member name in the following block - Directory Data block - 256 bytes
- Directory EOF marker
- First data block of a member
etc
?
Each of those will have error correcting information and then be rounded up to a multiple of ??? bytes.? I forget the exact value of ??? - maybe 32 .? It's in a manual somewhere.?
?
James Campbell |
Re: Understanding PDS in MVS 3.8
I recommend you to convert your disk from cckd to ckd(no compression) and then open it in HxD(free hex editor that supports EBCDIC).
That way you can see for yourself where data of your members starts and where it ends. To make things easier, fill lines of each member with different text strings.
Don't forget to change encoding from ANSI to EBCDIC.
?
Best wishes,
Andre |
Re: Understanding PDS in MVS 3.8
Hi,
?
A member entry in the directory block is at least 12 bytes long containing:
1. member name (8 bytes)
2. TTR (3 bytes)
3. C byte (1 byte), the last 5 bits containing the number of halfwords of the user data in the directory block.
4. userdata (minimum 0 bytes, maximum 62 bytes).
?
The maximum number of halfwords userdata is 31.? So the maximum entry length = 74 bytes.
Examples of userdata are:
ISPF stats in source members
Load modules stats of load modules, like module length, SSI information etc. This is mapped by the macro IHAPDS in SYS1.AMODGEN.
?
Cheers,
Rob |
Re: Understanding PDS in MVS 3.8
开云体育Each 256-byte directory block has a 2-byte field which indicates the length within the block of the entries it contains, so only 254 bytes may be used to hold the entries themselves - you should be doing 254 / 12 instead of 256 / 12. That still gives 21, however. I'm not an expert on the exact conditions, but entries can vary
in length, so I suspect that for some reason your entries are more
than 12 bytes long, as 12 bytes is the maximum entry length that
will allow 21 entries to fit in one directory block.
On 10/30/24 10:49, Sergio wrote:
|