On Sat, 20 Feb 2016 09:03:43 -0800, Skip Robinson wrote: >Link list is one of the most commonly misunderstood z/OS features. When link >list is built at IPL, MVS uses the specified list of libraries but does not >subsequently access programs via those DSNs. Instead, a table of disk extents >is created that maps the named libraries across all the volumes represented. >Individual libraries can be renamed, deleted, expanded or contracted, >whatever. Link list knows nothing of these changes. He still plods along >steadfastly with the original extent list: beginning and ending track location >of each library *at IPL* regardless of what data may or may not be there later >on. The main reason for the XCFAS enqueue on link list libraries is to prevent >accidental deleting or otherwise mangling of a library or its contents. > >For decades the only way to change link list was to IPL. Now we have ?dynamic link list rebuild via SETPROG, which directs z/OS to create a new >link list based on *current* library locations and contents. This may >encompass resized or relocated libraries, new libraries, or libraries removed >from link list. It's important to understand that merely changing a link list >library is some way is pointless without a corresponding SETPROG. S106 >abend most often results from some unexpected change to a link list library. >FETCH tries to read a load module from the expected location but gets an >I/O error because the module is no longer there or has been pushed into a >new disk extent that link list does not know about. > >It's possible to nullify the XCFAS enqueue, but you really have to know >what you're doing. It's useful mainly if you have to manipulate a library that >has the same name as a link list library but is not physically the same one. >That situation is rare. Any other use is a recipe for disaster.
Excellent information, Skip. I hope the OP reads it carefully and understands it. I would add this: When a job, started task, or TSO session starts, it uses the linklist that was active when it started. If a new linklist set is defined, it is used only for new work that starts. Existing jobs, etc, continue to use whatever linklist set they were using before. You can issue SETPROG LNKLST UPDATE to force address space(s) to use the new linklist, but you might cause problems for those address spaces. I've done it successfully, but the recommendation is that you only do it if you are willing to IPL. -- Tom Marchant ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
