摘要:
The present invention allows arbitrary actions to be performed when grafting the name space of one device into the name space of the same or another device. Grafting of the name space of one device into the name space of the same or another device creates a logical name space that can be presented to the user to allow the user to access information in a logically consistent manner. Active mount points are created by adding an active mount point attribute to a file or directory. When an I/O request processed by an I/O system encounters an active mount point, it turns control for processing the active mount point over to an active mount point driver. The active mount point driver assumes responsibility for processing the I/O request. In processing the I/O request, the active mount point driver decides what action should be taken to further processing of the I/O request. To further processing of the I/O request, the active mount point driver may utilize information from a variety of sources as well as make requests to other processes, drivers, systems, subsystems, devices, and so forth. Such actions may include those normally associated with an I/O request such as retrieving and mounting appropriate media as well as actions not normally associated with an I/O request.
摘要:
A system and method for more efficiently maintaining multiple temporal snapshots of a common base volume. When the base volume is modified, such as when existing data is overwritten with new data, that modification may affect two or more of the snapshots. Before the modification, the existing data is copied only to the differential file associated with the latest snapshot. When a region of a selected snapshot is read, the region is read from the selected snapshot's associated differential file. If the existing data is in the differential file, that data is returned to the reading process. If later snapshots have been taken, data associated with other parts of the region may be stored in one or more of the later differential files. If the differential file of the selected snapshot does not have data for each portion of the requested region, the mechanism continues by accessing each differential file associated with subsequent snapshots in temporal order from the earliest following the selected snapshot to the latest until either the region is complete or no later snapshots remain. Finally, if any part of the region was not filled in with data from one of the differential files, then that part of the region is read from the base volume.
摘要:
A system and method for creating a snapshot with a differential file maintained on the base volume that can grow as needed. When a snapshot is captured, free space is allocated on the base volume to receive the differential file. Writes to the base volume are allowed except to the free space allocated to the differential file. Then the snapshot is captured. After the snapshot process is complete, data that was originally present at the time the snapshot was captured may be copied to the differential file before it is modified. To grow the differential file out of its allocated space, new free space is selected from the free space currently on the base volume in conjunction with the free space at the time the snapshot was captured. The free space bitmap file of the snapshot volume may be used to identify the free space at the time the snapshot was captured.
摘要:
Information regarding volume mount points hosted by a logical volume are stored on the physical device underlying the logical volume so that the relationships between the host logical volume and target logical volumes mounted on the volume mount points can be reconstituted when the system containing the logical volumes is rebooted, when the underlying physical devices are moved with the system, and when the logical volumes are transported to a different system. A data structure stored on the physical device contains the directory name of the volume mount point and the unique identifier and a globally unique mount name of the target logical volume mounted at the volume mount point. When the target logical volume is present in the system, symbolic links are created to relate the volume mount point name to a device name for the target logical volume so that pathnames containing the directory junction name are resolved correctly. If the target volume is not present in the system, the corresponding symbolic link does not exist, so an incorrect logical volume cannot be mounted onto a volume mount point. Furthermore, because the logical volumes contain the directory junction information, the namespace representing the logical volumes is selfdescribing so that neither user knowledge nor intervention is required to reconstitute the namespace.
摘要:
A processing system processes an I/O request and, upon interruption of the I/O request, identifies an owner of an active mount point or another entity, and then resumes processing the I/O request under the control of the identified owner. For instance, when an I/O request processed by an I/O system encounters an active mount point, the processing is interrupted as control is turned over to an active mount point driver. The active mount point driver assumes responsibility for processing the I/O request. In processing the I/O request, the active mount point driver decides what action should be taken to further processing of the I/O request. To further processing of the I/O request, the active mount point driver may utilize information from a variety of sources as well as make requests to other processes, drivers, systems, subsystems, devices, and so forth. Such actions may include those normally associated with an I/O request such as retrieving and mounting appropriate media as well as actions not normally associated with an I/O request. This technique allows arbitrary actions to be performed when grafting the name space of one device into the name space of the same or another device using active mount points.
摘要:
A system, a method and a program product provide access to variable-length data segments on a sequential access storage medium using an iterative search for a specified data offset based on estimates of media offsets. The data is recorded in variable-length data segments aligned to predetermined alignment intervals. Each data segment has a predetermined signature field to identify the header of each data segment. Session data recorded on the medium so as to prevent session data that matches the signature field from being aligned with the predetermined alignment interval. Approximate or default parameters for data segment size are used for each estimate and are updated with each iteration based on actual data derived from data segment headers on the medium.
摘要:
A change journal for recording changes to files in a storage volume of a computer system keeps a record for each notable change to a file. Each record is given a unique update sequence number, which is a serial number of ever-increasing value assigned to each record. Each record includes one or more change reasons specifying what type of action occurred with respect to the associated file. The presence of a close file change reason in a record connotes that the record includes all the notable changes made to the file in a preceding file session, which is defined as the time occurring after the last time a close file change reason was entered in a change record, up to the time of the next succeeding close file change reason. For each file, an entry is made in the storage volume's master file table referencing the change record that currently includes the most up-to-date information on the status of the change reasons for the file.
摘要:
The present invention allows arbitrary actions to be performed when grafting the name space of one device into the name space of the same or another device. Grafting of the name space of one device into the name space of the same or another device creates a logical name space that can be presented to the user to allow the user to access information in a logically consistent manner. Active mount points are created by adding an active mount point attribute to a file or directory. When an I/O request processed by an I/O system encounters an active mount point, it turns control for processing the active mount point over to an active mount point driver. The active mount point driver assumes responsibility for processing the I/O request. In processing the I/O request, the active mount point driver decides what action should be taken to further processing of the I/O request. To further processing of the I/O request, the active mount point driver may utilize information from a variety of sources as well as make requests to other processes, drivers, systems, subsystems, devices, and so forth. Such actions may include those normally associated with an I/O request such as retrieving and mounting appropriate media as well as actions not normally associated with an I/O request.
摘要:
I/O systems of computers typically utilize multiple layered drivers to process I/O requests. I/O requests are passed from one driver to another in a defined sequence with each driver performing its processing in turn. The present invention provides a system and method for interrupting the normal sequence of processing and for allowing drivers that would not normally process an I/O request to intervene and assume control for processing the I/O request. The system and method provides a flexible and extensible way to define special types of files or directories that require special processing by a particular driver. The present invention adds a "reparse point" attribute to a file or directory. The reparse point attribute preferably contains a tag which identifies a particular driver as the owner of the reparse point and a data value which can be used by the owner driver to store any information necessary or useful in processing an I/O request. When a driver encounters a reparse point attribute, processing is interrupted and the tag and value of the reparse point are extracted from the attribute. The tag and value are then passed to the next higher level driver in the layered driver system until one driver recognizes itself as the owner of the reparse point. That driver then assumes responsibility for completing the I/O request. The owner of the reparse point may process the entire I/O requests itself, or may make further use of other drivers by passing other I/O requests to the drivers.
摘要:
A method and apparatus that maintains in stable storage an identification of which copies in a mirrored disk system are currently up to date without requiring the use of a logging mechanism. The invention may include a plurality of mirrored disk drives and a processing unit for controlling the writing and reading of data units to and from mirrored disk drives, wherein the processing unit establishes and maintains cohort sets for each mirrored disk drive. The cohort set represents the status of copies of the data units stored on the mirrored disk drives and contains membership information for redundant copies of data units stored in the plurality of mirrored disk drives. The membership information comprises a data structure of 2n status bits for identifying which disks contain current copies of the data units, where n is the number of disks in the system, and wherein the first n bits are used to indicate an intention to update the membership information for the copies and the second n bits are used indicate a current state of the membership information. The data structure may further include log(n) additional bits for identifying each mirrored disk.