1. A computer-implemented method for writing data to a tape data storage medium, comprising:
providing a system service that an application invokes to handle data synchronization events associated with writing a group of files to the tape medium;
keeping track of the files and data blocks in each file while writing the files to the tape medium based on file boundaries; and
responsive to a data writing failure, invoking the system service to determine the files affected by the data writing failure.
2. The method of claim 1, wherein the system service comprises a variable indicating the number of files to be written before a data synchronization.
3. The method of claim 1, wherein the file boundaries are tape marks.
4. The method of claim 1, wherein the data to be written to the tape medium are stored in a cache memory of a storage device.
5. The method of claim 4, further comprising:
executing a data synchronization in response to a specified number of files being written to the cache memory; and
transferring the files in the cache memory to the tape medium.
6. The method of claim 1, further comprising reporting a file sequence number identifying the first file that has not been written to the tape medium when the failure occurred.
7. The method of claim 1, wherein the data are in a Single File Format and the application invokes the system service at the end of each embedded file.
8. The method of claim 7, further comprising keeping track of said each embedded file within a Single File Format physical file.
9. The method of claim 8, wherein the system service writes file tracking data to a DASD file.
10. The method of claim 9, wherein the DASD file maps individual files in the Single File Format physical file to identify which embedded files did not get written to the tape medium in case of failure.
11. The method of claim 9, wherein the DASD file is used in a Fast Audit function to validate a Control Data Set associated with the application.
12. A data tape storage system, comprising:
a processor;
at least one tape drive for recording data on a tape medium;
a service utility executed by the processor and invoked by an application for:
handling data synchronization events associated with writing a group of files to the tape medium;
keeping track of the files and data blocks in each file while writing the files to the tape medium based on file boundaries; and
responsive to a data writing failure, invoking the system service to determine the files affected by the data writing failure.
13. The system of claim 12, wherein the data to be written to the tape medium are stored in a cache memory of the storage system.
14. The system of claim 13, wherein the system service:
executes a data synchronization in response to a specified number of files being written to the cache memory; and
transfers the files in the cache memory to the tape medium.
15. The system of claim 12, wherein the system service reports a file sequence number identifying the first file that has not been written to the tape medium when the failure occurred.
16. A computer-program product for writing data to a tape data storage medium, the product comprising a storage medium readable by a computer and embodying program instructions executable by the computer to:
provide a system service that an application invokes to handle data synchronization events associated with writing a group of files to the tape medium;
keep track of the files and data blocks in each file while writing the files to the tape medium based on file boundaries; and
responsive to a data writing failure, invoke the system service to determine the files affected by the data writing failure.
17. The computer-program product of claim 16, wherein the data are in a Single File Format and the application invokes the system service at the end of each embedded file.
18. The computer-program product of claim 16, further comprising program instructions executable by the computer to keep track of said each embedded file within a Single File Format physical file.
19. The computer-program product of claim 16, wherein the system service writes file tracking data to a DASD file.
20. The computer-program product of claim 19, wherein the DASD file maps individual files in the Single File Format physical file to identify which embedded files did not get written to the tape medium in case of failure.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A method for filtering packets in a switching environment, comprising:
receiving a packet at an input port of a switch, the switch comprising a memory and one or more output ports;
storing at least a portion of the packet in the memory;
determining one or more output ports from which the packet is to be communicated from the switch;
after beginning to determine one or more output ports from which the packet is to be communicated from the switch, determining whether the packet is an illegal packet;
if the packet is an illegal packet, dropping the packet from the memory; and
if the packet is a legal packet, communicating the packet from the determined one or more output ports;
wherein the switch comprises a drop queue and wherein the memory is logically divided into a plurality of blocks, the method further comprising allocating at least a first block and a second block of memory to the input port to store the packet, and wherein dropping the packet from the memory comprises:
sending a drop request for the first block to the drop queue; and
reusing the second block at the input port for storage of another packet without sending a drop request for the second block to the drop queue and without waiting for the second block to be released to a pool of available blocks.
2. The method of claim 1, wherein determining whether the packet is an illegal packet comprises determining whether the packet comprises less bytes than a minimum required number of bytes.
3. The method of claim 1, further comprising:
after determining whether the packet is an illegal packet, issuing a flag identifying whether the packet is an illegal packet;
buffering the flag until the one or more output ports from which the packet is to be communicated from the switch are determined; and
using the flag, determining whether to drop the packet or communicate the packet from the determined output ports.
4. The method of claim 1, further comprising releasing the blocks of memory allocated to storing packets associated with drop requests in the drop queue to allow reallocation of the released blocks of memory to one or more input ports for storage of one or more other packets in the released blocks of memory.
5. A system for filtering packets in a switching environment, comprising:
an input port of a switch configured to receive a packet, the input port associated with an input port module;
a memory of the switch configured to store at least a portion of the packet, the memory logically divided into a plurality of blocks;
a routing module of the switch configured to determine one or more output ports of the switch from which the packet is to be communicated from the switch, the input port module configured to determine whether the packet is an illegal packet after the routing module begins to determine the one or more output ports from which the packet is to be communicated from the switch;
a central agent of the switch comprising a drop queue and configured to drop at least some of the packet from the memory if the packet is an illegal packet; and
one or more output ports of the switch configured to communicate the packet from the switch if the packet is a legal packet and if the one or more output ports are determined by the routing module;
wherein the central agent is further configured to allocate at least a first block and a second block of memory to the input port to store the packet, and wherein, if the packet is an illegal packet:
the routing module is further configured to send a drop request for the first block to the drop queue; and
the input port module is further configured to reuse the second block for storage of another packet without a drop request for the second block being sent to the drop queue and without waiting for the second block to be released to a pool of available blocks.
6. The system of claim 5, wherein determining whether the packet is an illegal packet comprises determining whether the packet comprises less bytes than a minimum required number of bytes.
7. The system of claim 5, wherein the input port module is further configured to issue a flag identifying whether the packet is an illegal packet after determining whether the packet is an illegal packet, the routing module further configured to buffer the flag until the one or more output ports from which the packet is to be communicated from the switch are determined, the routing module further configured to determine whether to drop the packet or communicate the packet from the determined output ports using the flag.
8. The system of claim 5, wherein the central agent is configured to release the blocks of memory allocated to storing packets associated with drop requests in the drop queue to allow reallocation of the released blocks of memory to one or more input ports for storage of one or more other packets in the released blocks of memory.