====== Include-exclude használat ======
Match from top down
If you run dsmc q inclexcl -optfile="C:\Program Files\Tivoli\tsm\TDPSql\dsm.opt", you will see the outputs like the following:
(1). '*\...\copyfull*' in TSM Server:
  *** FILE INCLUDE/EXCLUDE ***
  Mode Function  Pattern (match from top down)  Source File
  ---- --------- ------------------------------ -----------------
  **Include All       *\...\copyfull*                Server**
  Include All       *\...\log\...\*                Server
  Include All       *\...\meta\...\*               Server
  Include All       *\...\data\...\*               Server
(2). '*\...\copyfull*' in client option file dsm.opt:
  *** FILE INCLUDE/EXCLUDE ***
  Mode Function  Pattern (match from top down)  Source File
  ---- --------- ------------------------------ -----------------
  Include All       *\...\log\...\*                Server
  Include All       *\...\meta\...\*               Server
  Include All       *\...\data\...\*               Server
  **Include All       *\...\copyfull*                C:\Program Files\Tivoli\tsm\TDPSql\dsm.opt**
Why the above (1) can work, but (2) cannot work?
If you run 'select * from backups WHERE node_name='NODE NAME'', you will see the outputs like the following:
        NODE_NAME: WIN103_SQL
   FILESPACE_NAME: CHENGH-SP-103\data\0001
     FILESPACE_ID: 7
            STATE: ACTIVE_VERSION
             TYPE: FILE
          HL_NAME: \db103_2\copyfull\
          LL_NAME: 1
        OBJECT_ID: 1,827,849
      BACKUP_DATE: 2/12/24, 17:36:42
  DEACTIVATE_DATE: 
            OWNER: 
       CLASS_NAME: TEST_ARCH2
      ACTUAL_SIZE: 
Actually, the full path is: \data\0001\db103_2\copyfull\, because match from top down, so
For (1), it will match 'Include All       *\...\copyfull*                Server'.
For (2). it will match 'Include All       *\...\data\...\*               Server'
In this page for example, it's stated that evaluation is from bottom up: https://www.ibm.com/docs/en/spectrum-protect/8.1.8?topic=list-include-exclude-option-processing
**- So if I watch it from server side clopt, it's bottom up, if I check it from a client then evaluation is in reverse?**
What you said is the outputs of the command: 'q cloptset' from OC or dsmadmc and you see the include/exclude options in dsm.opt/dsm.sys.
What I said is the outputs of 'dsmc q inclexcl' from client node, which is the real matching order when you run backup.
For example:
1.  Run 'q cloptset' from OC:
  CHENGH-SP-73> q cloptset
  Optionset	Description	Last Update by (administrator)	Managing profile	Replica Option Set
  TEST_SET		ADMIN		No
  Option	 Sequence number	Use Option Set Value (FORCE)	Option Value
  INCLEXCL	0	               Yes	INCLUDE \...\data\...\* TEST_CLASS
  INCLEXCL	1	               Yes	INCLUDE \...\meta\...\* TEST_BACKUPMGMT
  INCLEXCL	2	               Yes	INCLUDE \...\log\...\* TEST_ARCHIVEMGMT
  INCLEXCL    3                      Yes   Include *\...\copyfull* TEST_ARCH2
2.  Run 'dsmc q inclexcl ...' from client node:
  C:\Program Files\Tivoli\tsm\baclient>dsmc q inclexcl -optfile="C:\Program Files\Tivoli\tsm\TDPSql\dsm.opt"
  Include All       *\...\*\...\copyfull*          Server
  Include All       *\...\log\...\*                Server
  Include All       *\...\meta\...\*               Server
  Include All       *\...\data\...\*               Server