:Info: manage_volume_pool: mvp: 02/10/84 manage_volume_pool, mvp Syntax: mvp KEY {args} {-control_args} Syntax as active function: [mvp KEY {args} {-control_args}] Function: allows a user or a group of users to regulate the use of a predefined set of volumes (tape reels, etc.). The concept of volume sets as used with tape_ansi_/tape_ibm_ is also supported. The default volume pool for each user pool is named Person_id.volumes and exists in the user's home directory. This default can be reset via the use key. Arguments: args are optional arguments associated with the various keywords. They can be volume names of volumes to be acted upon according to the key given. List of keys: For a detailed description of any of the keys, type "help mvp.KEY". add, a allocate, alloc append_volume_set, appvs delete, dl free list, ls print, pr, p pv_expire, pvexp remove_volume_set, rmvs reserve, rsv reuse set test use Notes on expiration dates: There are two kinds of expiration dates. One is associated with the physical volume and is referenced with -pv_expire. The pv_expire date is checked whenever the volume state is changed to free, allocate, or reserve, or when a volume is removed from or appended to another volume set. When a secondary volume within a volume set becomes expired, the next time that volume set state is changed the state of the volume set changes to pv_expire and the user is notified. The date is not checked when the reuse key is used. When the physical expiration date of a volume set is reached, the state changes to pv_expire and a message is printed. Expired volume sets can only be deleted or freed from the volume pool; if freed, the expiration date can be reset using the set key. Physical volume expiration dates are useful for keeping track of old and bad tapes. The other optional expiration date applies only to allocated volume sets. It is referenced by -expire and refers to the time when the information on the volume set is considered no longer relevant. This date can be set at allocation time. When the volume set is freed, the expire date field is cleared. This expire date is useful for keeping track of recycling volume sets. There is no state associated with this expire date. Both kinds of expiration dates have to be explicitly set by the user via control arguments or the set key. If not set, the default is for volume sets never to expire. Notes on querying: The user is queried on whether to continue a requested action (allocate, reserve, etc.) when the action can only be performed on some but not all volume names specified. The -force control argument can be used to override the query. If the user answers "no," the entire request is aborted and no action is taken. If the user replies "yes" to the query or -force is used, the request is performed on the volume sets eligible and a message is printed listing the volume sets on which no action was taken. Notes on active function: When mvp is invoked as an active function, a successful action returns "true", a list of volume names, or pathnames, depending on the actual key request. In the case of a partial success when an attempt to query the user is made, active_fnc_err_ is called; however, its action is overridden when -force or -fexp is used. This results in returning "true" or the partial list of volume names successfully acted upon. :Info: mvp.add: mvp.a: 02/10/84 manage_volume_pool add key Syntax: mvp a vol_names {-control_args} Syntax as an active function: [mvp a vol_names {-control_args}] Function: adds the selected volumes to the user's volume pool. Each volume added is considered a volume set of size one. Control arguments: -force, -fc adds the volumes it can without aborting the entire request or querying the user (see mvp.info "Notes on Querying"). -pv_expire DATE, -pvexp DATE sets the expiration date of all given physical volumes to DATE. DATE must be acceptable to convert_date_to_binary_. (See mvp.info "Notes on expiration dates".) Notes: Failure can occur when the volume to be added already exists in the volume pool. As an active function, "true" is returned if all volumes were successfully added. :Info: mvp.allocate: mvp.alloc: 02/10/84 manage_volume_pool allocate key Syntax: mvp alloc {vol_names} {-control_args} Syntax as an active function: [mvp alloc {vol_names} {-control_args}] Function: allocates the supplied free or reserved volume sets. The vol_names argument can be primary or secondary volumes of a set. Control arguments: -comment STR, -com STR designates STR as the comment to be associated with the vol_names chosen. -expire DATE, -exp DATE sets the expiration date associated with the data on the allocated vol_names. (See mvp.info "Notes on expiration dates"). -first {N}, -ft {N} allocates the first N free volume sets in the pool; "first" is defined as the volume sets that have been most recently freed (i.e., volume sets that have the most recent state change date associated with them). If N is not given, the default value is 1. -force, -fc assigns the volume sets it can without aborting the entire request or querying the user (see mvp.info "Notes on querying"). -last {N}, -lt {N} allocates the last N free volume sets in the pool; "last" is defined as the volume sets that have been in the free state the longest (i.e., volume sets that have the oldest state change date associated with them). If N is not supplied, the default value is 1. -volume_size {N}, -vs {N} allocates a volume set of size N. If more than one volume set of size N exists and neither -first nor -last is used, then the last free (least recently freed) volume set of size N is assigned. If N is not given, the default size is 1. If there are no volume sets of size N, an error message occurs. The test key can be used to avoid such errors. Notes: The use of vol_names and -ft, -lt, or -vs are mutually exclusive. If -vs is not selected, the default action is to consider all volume sets of any size in the pool. Reserved volume sets to be allocated must be specified by their vol_name. Failure can occur if the volume sets to be allocated do not exist in the volume pool, if they are not in the free or reserve state, or if N free volume sets are requested and only N-1 free volume sets exist in the pool. As an active function, the allocated vol_names are returned. :Info: mvp.append_volume_set: mvp.appvs: 02/10/84 manage_volume_pool append_volume_set key Syntax: mvp appvs primary_vol_name {vol_names} {-control_args} Syntax as an active function: [mvp appvs primary_vol_name {vol_names} {-control_args}] Function: appends the vol_names to the volume set specified by the primary_vol_name. The vol_names cannot be secondary volumes of another existing volume set. The pv_expire date of each vol_name is checked before appending; if this date is passed (i.e, less than the current date), the state of the volume becomes expired, a message to that effect is printed, and the volume is not appended. Control arguments: If no vol_names are given, acceptable control arguments are-- -first {N}, -ft {N} appends the first N free volume sets to the new set; "first" is defined as the volume sets that have been most recently freed. If N is not given, the default value is 1. -force, -fc appends the volumes it can without aborting the entire request or querying the user (see mvp.info "Notes on querying"). -last {N}, -lt {N} appends the last N free volume sets to the new set; "last" is defined as the volume sets that have been in the free state the longest. If N is not supplied, the default value is 1. -volume_size {N}, -vs {N} appends volume set of size N. If more than one volume set of N exists, and neither -first nor -last is used, then the last free volume set of size N is appended to the new set. If N is not given, the default size is 1. If no volume set of size N exists, an error message occurs. The test key can be used to avoid such errors. Notes: The vol_names argument and -ft, -lt, or -vs are mutually exclusive. If -vs is not chosen, the default action is to consider volume sets of any size in the pool. Failure can occur when a given volume set does not exist or when a volume to be appended is not free. As an active function, the volume names that were appended to the volume set are returned. If a multiple volume set is appended, all the volumes in the set are returned. :Info: mvp.delete: mvp.dl: 02/10/84 manage_volume_pool delete key Syntax: mvp dl vol_names {-control_arg} Syntax as an active function: [mvp dl vol_names {-control_arg}] Function: deletes the specified physical volume sets from the user's data base. Volume sets must be in the free, reserve, or pv_expire state to be deleted. If vol_name is a multiple volume set, all volumes in the set are deleted from the pool; if it is a secondary_vol_name, the volume set to which the secondary volume belongs to is deleted. Control arguments: -force, -fc deletes the volume sets it can without aborting the entire request or querying the user (see mvp.info "Notes on Querying"). Notes: As an active function, a successful delete returns "true," "false" otherwise. :Info: mvp.free: 02/10/84 manage_volume_pool free key Syntax: mvp free {vol_names} {-control_args} Syntax as an active function: [mvp free {vol_names} {-control_args}] Function: frees the selected volume sets in the user's data base by changing the state to "free." Upon freeing a volume set, the pv_expire date of each volume in the set is checked; if one of these dates is passed, the state of the volume set becomes pv_expired and a message to that effect is printed. In the case of an allocated volume to be freed, the -expire date is checked first; if this date has not passed yet, the volume set is not freed and a message to that effect is printed. If vol_name is a secondary_vol_name, the state of the volume set to which the secondary volume belongs to becomes free. Control arguments: -brief, -bf suppresses the pv_expire message or the allocate expire message when appropriate. -expire, -exp frees all allocated volume sets for which the respective expiration date has been passed. -force, -fc frees the volume sets it can without aborting the entire request or querying the user (see mvp.info "Notes on querying"). -force_expire, -fexp overrides the checking of the -expire date, freeing allocated volume sets with an unexpired expiration date. -match STR frees only those volume sets whose comment contains STR as a substring. The volume sets can be in the allocate, reserve, or pv_expire state. Both expirations dates are first checked before freeing the volume sets. Notes: The vol_names argument and -exp, -fc, or -match are mutually exclusive. As an active function, a successful free returns "true," otherwise "false" is returned. :Info: mvp.list: mvp.ls: 02/10/84 manage_volume_pool list key Syntax: mvp ls {vol_names} {-control_args} Syntax as an active function: [mvp ls {vol_names} {-control_args}] Function: lists information about the specified volume sets or about all volume sets in the pool if no arguments are supplied. The list is printed in state change date order with the volumes whose states changed most recently listed first. Control arguments: -header, -he prints the header information of the list display. (Default) -no_header, -nhe suppresses printing of the header. -total, -tt prints the total number of volume sets in the pool. Control arguments for field selection: -comment, -com lists only the comment field of the designated volumes. -default_format, -dfmt lists the name, state date, state, and comments fields. -expire_date, -edt lists the expiration date field of the given allocated volume sets. -name, -nm lists the volume name field of the selected volume sets. -pv_expire_date, -pvedt lists the physical expiration date field of the supplied physical volume sets. -state lists only the state field of the indicated volume sets. -state_date, -sdt lists only the state change date field of the designated volume sets. Control arguments for volume state selection: Volume sets can be listed according to what state they are in: allocate, free, pv_expire, or reserve. The default format is displayed unless field control arguments are also selected. The specified vol_names and the control arguments listed below are mutually exclusive. -all_states, -ast lists all volume sets in the pool. This is the default when list is invoked with no arguments. -allocate, -alloc lists only those volume sets that are allocated. -free lists only those volume sets that are free. -pv_expire, -pvexp lists only those volume sets that are in the pv_expire state. -reserve, -rsv lists only those volume sets that are reserved. Additional selection control arguments: These control arguments allow one to list volume sets by criteria other than the volume state or in combination with the volume state control arguments. The default format display is used unless field arguments are given. The indicated vol_names are incompatible with these control arguments: -expire, -exp lists all allocated volume sets for which the respective expiration date has been passed. -first {N}, -ft {N} lists the first N volume sets in state change date order; "first" is defined as the volume sets that have the most recently changed state. If N is not supplied, the default value is 1. -last {N}, -lt {N} lists the last N volume sets; "last" is defined as the volume sets that have the least recently changed state. If N is not given, the default value is 1. -match STR lists only those volume sets whose comment contains STR as a substring. -volume_size {N}, -vs {N} lists only the volume sets in the data base of size N. If N is not indicated, the default size is 1. If -vs is not given, all volume sets of any size are listed. Notes: As an active function, list with no control arguments returns a list of the primary volume names of all volume sets; otherwise, the control arguments chosen determine what is returned for each selected volume. :Info: mvp.print: mvp.pr: mvp.p: 02/10/84 manage_volume_pool print key Syntax: mvp p Syntax as an active function: [mvp p] Function: prints the pathname of the current volume pool segment. As an active function, the pathname is returned. :Info: mvp.pv_expire: mvp.pvexp: 02/10/84 manage_volume_pool pv_expire key Syntax: mvp pvexp vol_names {-control_arg} Syntax as an active function: [mvp pvexp vol_names {-control_arg}] Function: designates the specified volume sets and their secondary volumes as expired by changing the state to pv_expire. The set key can be used to reset the physical volume expiration date. Volume sets cannot be in the allocate state. If vol_name is a secondary_vol_name, the state of the volume set to which the secondary volume belongs to becomes pv_expire. The active function returns "true" when all indicated vol_names are successfully expired, "false" otherwise. Control arguments: -force, -fc expires the volume sets it can without aborting the entire request or querying the user (see mvp.info "Notes on querying"). :Info: mvp.remove_volume_set: mvp.rmvs: 02/10/84 manage_volume_pool remove_volume_set key Syntax: mvp rmvs primary_vol_name {secondary_vol_names} {-control_args} Syntax as an active function: [mvp rmvs primary_vol_name {secondary_vol_names} {-control_args}] Function: removes the secondary_vol_names from the volume set as specified by primary_vol_name. The volumes removed are placed in the pool as volume sets of size 1 in the free state. The primary volume of a volume set cannot be removed unless -all is used. If the volume set supplied is in the allocate state, the -expire date is checked first. If this date has not passed yet, the request is aborted and a message is printed. Upon freeing each volume, its pv_expire date is checked; if this date is passed, the state of the volume becomes expired and a message to that effect is printed. Control arguments: -all, -a breaks the volume set into individual volume sets of size 1, each with a state of free (or pv_expire, as explained above); this includes freeing the primary volume. -brief, -bf suppresses the pv_expire message or the volume-not-removed message when appropriate. -force, -fc removes the volumes it can without aborting the entire request or querying the user (see mvp.info "Notes on querying"). -force_expire, -fexp overrides the checking of the -expire date, freeing allocated volume sets with an unexpired expiration date. pv_expire, -pvexp removes all volumes of the designated volume set whose pv_exire date has been passed and puts them in the pool with the pv_expire state. Notes: The specified secondary_vol_names and -all and -pvexp are mutually exclusive. Failure can occur when the volumes to be removed do not exist in the volume set. As an active function, the vol_names removed from the volume set are returned. :Info: mvp.reserve: mvp.rsv: 02/10/84 manage_volume_pool reserve key Syntax: mvp rsv {vol_names} {-control_args} Syntax as an active function: [mvp rsv {vol_names} {-control_args}] Function: reserves the indicated free volume sets. If vol_name is a secondary volume name of a volume set, this volume set is reserved. Only a free volume set can be reserved and used by a person, so long as her or his process is active. When the reserved volume is referenced, a check is made to see if one's process is still active; if not, the volume can be used as requested. When reserving, the pv_expire date is checked; if this date is passed, the state of the volume set becomes pv_expire and a message is printed. Control arguments: -comment STR, -com STR states that STR be the comment associated with the given volume sets reserved. -first {N}, -ft {N} reserves the first N free volume sets; "first" is defined as the volume sets that have been most recently freed. If N is not supplied, the default value is 1. -force, -fc reserves the volumes it can without aborting the entire request or querying the user (see mvp.info "Notes on querying"). -last {N}, -lt {N} reserves the last N free volume sets; "last" is defined as the volume sets that have been in the free state the longest. If N is not given, the default value is 1. -volume_size {N}, -vs {N} reserves a volume set of size N. If more than one volume set of size N exists and neither -first nor -last is given, then the last free volume set of size N is reserved. If N is not supplied, the default size is 1. If no volume set of size N exists, an error message occurs. The test key can be used to avoid such errors. Notes: The vol_names argument and -ft, -lt, or -vs are mutually exclusive. If -vs is not given, the default action is to consider volume sets of any size in the pool. Failure can occur if the specified vol_names to be reserved do not exist, if they are not in the free state, if no volume set of size N exists, or if there are only N free volumes in the pool and N+1 volumes are selected to be reserved. As an active function, a list of the volume set names reserved is returned. :Info: mvp.reuse: 02/10/84 manage_volume_pool reuse key Syntax: mvp reuse {vol_names} {-control_args} Syntax as an active function: [mvp reuse {vol_names} {-control_args}] Function: allows one to free and reallocate a designated number of allocated volume sets, without needing to know the volume names. Before this operation is performed, the -expire date is checked; if this date has not passed yet, the request is not performed and a message is printed. Control arguments: -brief, -bf suppresses the reuse request message not performed. -first {N}, -ft {N} reallocates the first N allocated volume sets; "first" is defined as the volume sets that have been most recently allocated. If N is not specified, the default value is 1. Failure can occur when N volume sets are requested and only N-1 volume sets are in the pool. -force, -fc reuses the volume sets it can without aborting the entire request or querying the user (see mvp.info "Notes on Querying"). -force_expire, -fexp overrides the checking of the -expire date and reallocates the specified volume sets with an unexpired expiration date. -last {N}, -lt {N} reallocates the last N allocated volume sets; "last" is defined as the volume sets that have been in the allocated state the longest. If N is not supplied, the default value is 1. Failure can occur when N volume sets are requested and only N-1 volume sets are in the pool. -match STR reallocates all volume sets whose comment contains the substring STR. -volume_size {N}, -vs {N} reallocates a volume set of size N. If more than one volume set of size N exists and neither -first nor -last is given, then the last allocated volume set of size N is reallocated. If N is not specified, the default size is 1. If no volume set of size N exists, an error message occurs. The test key can be used to avoid such errors. Notes: The vol_names argument and -ft, -fc, -lt, -match, or -vs are mutually exclusive. If -vs is not supplied, the default action is to consider all allocated volume sets of any size in the pool. As an active function, the primary names of the volume sets that were reused are returned. :Info: mvp.set: 07/02/88 manage_volume_pool set key Syntax: mvp set vol_names -control_args Syntax as an active function: [mvp set vol_names -control_args] Function: sets the comment or expiration date fields of the specified volume sets. Control arguments: -comment STR, -com STR sets the comment field of the designated vol_names to STR. If the volume name is secondary, the comment field of the volume set to which it belongs is changed. -expire DATE, -exp DATE sets the expiration date associated with allocated vol_names selected. The vol_names argument must be in the allocated state, otherwise a message is printed to that effect. If the volume name is secondary, the expire date of the allocated volume set to which the secondary volume belongs is changed. (See mvp.info "Notes on Expiration Dates.") -pv_expire DATE, -pvexp DATE sets the physical volume expiration date of the specified vol_names to DATE. The volume set state does not become pv_expire until the next time the volume set state is changed (via the alloc, free, and rsv keys), after the date is reached. If the volume name is primary, the expiration date is reset to DATE for only the primary volumes unless followed by -secondary_volumes. Secondary volumes of a volume set can be selected individually to set their pv_expire date. (See mvp.info "Notes on Expiration Dates.") -secondary_volumes, -svol is used in conjunction with -pvexp to indicate that the secondary volumes of the primary volume name preceeding -svol should also be set to the given pv_expire date. -state_date DATE, -stdt DATE sets the date associated with the volume state for the selected volumes. If the volume name is primary, the expiration date is set for all secondary volumes as well. Notes: As an active function, "true" is returned when the date and/or comment has been successfuly changed for all designated vol_names. :Info: mvp.test: 02/10/84 manage_volume_pool test key Syntax: mvp test {vol_names} {-control_args} Syntax as an active function: [mvp test {vol_names} {-control_args}] Function: tests what state the specified volume sets are in. If the vol_name supplied is a secondary volume, the attributes of the set to which it belongs to are tested. Control arguments: -allocate, -alloc tests whether any volume sets or vol_names selected are in the allocate state. -first {N}, -ft {N} tests the first N volume sets; "first" is defined as the volume sets that have been most recently allocated. If N is not supplied, the default value is 1. -free tests whether any volume sets or vol_names given are in the free state. (Default) -last {N}, -lt {N} tests the last N volume sets; "last" is defined as the volume sets that have been in the allocated state the longest. If N is not selected, the default value is 1. Failure can occur when N volume sets are requested and only N-1 volume sets are in the pool. -match STR tests all volume sets whose comment contains the substring STR. -pv_expire, -pvexp tests whether any volume sets or vol_names specified are in the expire state. -reserve, -rsv tests whether any volume sets or vol_names selected are in the reserve state. -volume_size {N}, -vs {N} tests whether volume sets of size N are in one of the specified states. If more than one volume set of size N exists and neither -first nor -last is given, then the last free, reserved, etc. (as indicated by the state control arguments) volume set of size N is tested. If N is not supplied, the default size is 1. If no volume set of size N exists, an error message is returned. Notes: The vol_names argument and -ft, -lt, -match, or -vs are mutually exclusive. If -vs is not given, the default action is to consider all volume sets of any size in the pool. As an active function, "true" is returned if a volume set with the state specified is found in the pool. :Info: mvp.use: mvp.u: 02/10/84 manage_volume_pool use key Syntax: mvp u {path} Syntax as an active function: [mvp u {path}] Function: specifies the pathname of the mvp segment to be used by future invocations of mvp in this process. The "volumes" suffix is assumed. If the pathname is omitted, the user's default volume segment is used. If the segment designated by path does not exist, mvp creates it. As an active function, the pathname is returned. ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved