Erasing data sets without access delay to other data sets
A method, according to one embodiment, includes causing an erase operation to be performed for a first data set. The erase operation includes blocking accesses to the first data set and to a locational data structure for a first volume of a first direct-access storage device (DASD) that includes the first data set, updating a bitmap of the first DASD to indicate that data tracks of the first data set are to be erased, and providing first data to a server configured to erase the data tracks of the first data set. The erase operation further includes unblocking accesses to the locational data structure, where an entry for the first data set is removed from the locational data structure prior to the unblocking. The erase operation also includes causing the data tracks of the first data set to be erased by the server during a determined erase period.
1 . A method comprising:
causing an erase operation to be performed for a first data set, wherein the erase operation is caused to be performed in response to receiving, from a first user device, a request to erase the first data set, the erase operation including:
blocking accesses to the first data set and to a locational data structure for a first volume of a first direct-access storage device (DASD) that includes the first data set;
updating a bitmap of the first DASD to indicate that data tracks of the first data set are to be erased;
providing first data to a server configured to erase the data tracks of the first data set;
unblocking accesses to the locational data structure for the first volume of the first DASD, wherein an entry for the first data set is removed from the locational data structure for the first volume of the first DASD prior to the unblocking;
determining an erase period for the data tracks of the first data set,
wherein the determined erase period for the data tracks of the first data set is a period of time in which input/output (I/O) operations of the first DASD is forecasted to be less than a predetermined threshold;
scheduling the data tracks of the first data set to be caused to be erased by the server during the determined erase period;
returning a confirmation to the first user device in response to the scheduling; and
causing the data tracks of the first data set to be erased by the server during the determined erase period.
2 . The method of claim 1 , wherein the determined erase period exists after the unblocking, wherein the confirmation is returned to the first user device while the data tracks of the first data set are still located on the first volume of the first DASD but after the bitmap of the first DASD is updated to indicate that the data tracks of the first data set are to be erased.
3 . The method of claim 2 , wherein the first user device is able to access a second data set located on the first volume of the first DASD based on the accesses to the locational data structure for the first volume of the first DASD being unblocked.
4 . The method of claim 1 , wherein the causing the data tracks of the first data set to be erased by the server during the determined erase period comprises: issuing an instruction, to the server, to write binary zeros over the data tracks of the first data set during the determined erase period.
5 . The method of claim 1 , wherein the providing the first data to the server configured to erase the data tracks of the first data set comprises:
generating a record for the data tracks of the first data set within an index of the locational data structure;
adding the first data to the record,
wherein the first data is selected from the group consisting of: a requested delete time, a time that an erase is completed, a data set name, identifiers of tracks that have been erased, a job name, a step name, and a description of a dataset that a program uses when run; and
outputting the first data to the server.
6 . The method of claim 1 , further comprising:
causing a write operation to be performed for a second data set, the write operation comprising:
receiving, from a second user device, a request to store the second data set; and
in response to a determination that space is available on the first DASD for the second data set, cross-checking the bitmap of the first DASD to confirm that the available space on the first DASD does not include the data tracks of the first data set that are to be erased.
7 . The method of claim 6 , wherein the write operation comprises:
in response to a determination that the cross-checking of the bitmap confirms that the available space on the first DASD does not include the data tracks of the first data set that are to be erased, causing the second data set to be created and returning a confirmation to the second user device; and
in response to a determination that the cross-checking of the bitmap reveals that the available space on the first DASD includes the data tracks of the first data set that are to be erased, checking for additional storage space for the second data set.
8 . A computer program product comprising:
one or more computer-readable storage media; and
program instructions stored on the one or more storage media to perform operations comprising:
causing an erase operation to be performed for a first data set, wherein the erase operation is caused to be performed in response to receiving, from a first user device, a request to erase the first data set, the erase operation including:
blocking accesses to the first data set and to a locational data structure for a first volume of a first direct-access storage device (DASD) that includes the first data set;
updating a bitmap of the first DASD to indicate that data tracks of the first data set are to be erased;
providing first data to a server configured to erase the data tracks of the first data set;
unblocking accesses to the locational data structure for the first volume of the first DASD, wherein an entry for the first data set is removed from the locational data structure for the first volume of the first DASD prior to the unblocking;
determining an erase period for the data tracks of the first data set,
wherein the determined erase period for the data tracks of the first data set is a period of time in which input/output (I/O) operations of the first DASD is forecasted to be less than a predetermined threshold;
scheduling the data tracks of the first data set to be caused to be erased by the server during the determined erase period;
returning a confirmation to the first user device in response to the scheduling; and
causing the data tracks of the first data set to be erased by the server during the determined erase period.
9 . The computer program product of claim 8 , wherein the determined erase period exists after the unblocking, wherein the confirmation is returned to the first user device while the data tracks of the first data set are still located on the first volume of the first DASD but after the bitmap of the first DASD is updated to indicate that the data tracks of the first data set are to be erased.
10 . The computer program product of claim 9 , wherein the first user device is able to access a second data set located on the first volume of the first DASD based on the accesses to the locational data structure for the first volume of the first DASD being unblocked.
11 . The computer program product of claim 8 , wherein the causing the data tracks of the first data set to be erased by the server during the determined erase period comprises: issuing an instruction, to the server, to write binary zeros over the data tracks of the first data set during the determined erase period.
12 . The computer program product of claim 8 , wherein the providing the first data to the server configured to erase the data tracks of the first data set comprises:
generating a record for the data tracks of the first data set within an index of the locational data structure;
adding the first data to the record,
wherein the first data is selected from the group consisting of: a requested delete time, a time that an erase is completed, a data set name, identifiers of tracks that have been erased, a job name, a step name, and a description of a dataset that a program uses when run; and
outputting the first data to the server.
13 . The computer program product of claim 8 , wherein the operations further comprise:
causing a write operation to be performed for a second data set, the write operation comprising:
receiving, from a second user device, a request to store the second data set; and
in response to a determination that space is available on the first DASD for the second data set, cross-checking the bitmap of the first DASD to confirm that the available space on the first DASD does not include the data tracks of the first data set that are to be erased.
14 . The computer program product of claim 13 , wherein the write operation comprises:
in response to a determination that the cross-checking of the bitmap confirms that the available space on the first DASD does not include the data tracks of the first data set that are to be erased, causing the second data set to be created and returning a confirmation to the second user device; and
in response to a determination that the cross-checking of the bitmap reveals that the available space on the first DASD includes the data tracks of the first data set that are to be erased, checking for additional storage space for the second data set.
15 . A computer system comprising:
a processor set;
one or more computer-readable storage media; and
program instructions stored on the one or more storage media to cause the processor set to perform operations comprising:
causing an erase operation to be performed for a first data set, wherein the erase operation is caused to be performed in response to receiving, from a first user device, a request to erase the first data set, the erase operation including:
blocking accesses to the first data set and to a locational data structure for a first volume of a first direct-access storage device (DASD) that includes the first data set;
updating a bitmap of the first DASD to indicate that data tracks of the first data set are to be erased;
providing first data to a server configured to erase the data tracks of the first data set;
unblocking accesses to the locational data structure for the first volume of the first DASD, wherein an entry for the first data set is removed from the locational data structure for the first volume of the first DASD prior to the unblocking;
determining an erase period for the data tracks of the first data set,
wherein the determined erase period for the data tracks of the first data set is a period of time in which input/output (I/O) operations of the first DASD is forecasted to be less than a predetermined threshold;
scheduling the data tracks of the first data set to be caused to be erased by the server during the determined erase period;
returning a confirmation to the first user device in response to the scheduling; and
causing the data tracks of the first data set to be erased by the server during the determined erase period.
16 . The computer system of claim 15 , wherein the causing the data tracks of the first data set to be erased by the server during the determined erase period comprises: issuing an instruction, to the server, to write binary zeros over the data tracks of the first data set during the determined erase period.
17 . The computer system of claim 15 , wherein the providing the first data to the server configured to erase the data tracks of the first data set comprises:
generating a record for the data tracks of the first data set within an index of the locational data structure;
adding the first data to the record,
wherein the first data is selected from the group consisting of: a requested delete time, a time that an erase is completed, a data set name, identifiers of tracks that have been erased, a job name, a step name, and a description of a dataset that a program uses when run; and
outputting the first data to the server.