摘要:
Aspects of the subject matter described herein relate to distributed namespace aggregation. In aspects, a distributed file system is extended to allow multiple servers to seamlessly host files associated with aggregated links and/or aggregated roots. A request for a directory listing of an aggregated link or root may cause a server to sniff multiple other servers that host files associated with the link or root to create and return a concatenated result. Sniffing may also be used to determine which servers host the file to which the client is requesting access. Altitude may be used to determine which servers to make visible to the client and may also be used to determine which servers are in the same replica group and which are not.
摘要:
Described is a technology by which a new volume or partition may be created on a disk, e.g., by running a shrink program and then reclaiming freed space. Shrink occurs online, while the user or system processes may be otherwise using the disk for reads and writes. Further, the technology operates while protecting snapshot versions of the volume. To shrink, upon receiving a request to shrink a volume to within a boundary, new allocations are restricted such that any allocation is to a volume area within the boundary. Data is moved from outside the boundary to within the boundary, and the shrink is committed when no volume data remains outside the boundary. A reduced-size volume or partition that does not include the specified region is committed when the data has been moved out of the specified region. A new volume or partition may be freed that corresponds to the region.
摘要:
File system metadata regarding states of a file system affected by transactions is tracked consistently even in the face of dirty shutdowns which might cause rollbacks in transactions which have already been reflected in the metadata. In order to only request time- and resource-heavy rebuilding of metadata for metadata which may have been affected by rollbacks, reliability information is tracked regarding metadata items. When a metadata item is affected by a transaction which may not complete properly in the case of a problematic shutdown or other event, that metadata item's reliability information indicates that it may not be reliable in case of such a problematic (“dirty” or“abnormal”) event. In addition to flag information indicating unreliability, timestamp information tracking a time of the command which has made a metadata item unreliable is also maintained. This timestamp information can then be used, along with information regarding a period after which the transaction will no longer cause a problem in the case of a problematic event, in order to reset the reliability information to indicate that the metadata item is now reliable even in the face of a problematic event.
摘要:
A generic disk driver filter may be used to accelerate performance when writing to a disk. The generic disk driver filter may be connected between a file system and a disk driver and may be configured to be extensible and compatible with a variety of different file systems and different disk drivers. The generic disk driver filter has a filter component that intercepts and filters raw sector write commands from the file system before they are received by the disk driver. The generic disk driver filter may also have a cache memory component that stores a checksum for each sector which is written to the disk. The generic disk driver filter may also have a scavenger thread component that detects and removes latent checksum entries from the cache memory so as to preserve memory availability and reduce memory requirements.
摘要:
A system and method for object rundown protection that scales with the number of processors in a shared-memory computer system is disclosed. In an embodiment of the present invention, prior to object rundown, a cache-aware reference count data structure is used to prevent cache-pinging that would otherwise result from data sharing across processors in a multiprocessor computer system. In this data structure, a counter of positive references and negative dereferences, aligned on a particular cache line, is maintained for each processor. When an object is to be destroyed, a rundown wait process is begun, during which new references on the object are prohibited, and the total number of outstanding references is added to an on-stack global counter. Destruction is delayed until the global reference count is reduced to zero. In an embodiment of the invention suited to implementation on non-uniform memory access multiprocessor machines, each processor's reference count is additionally allocated in a region of main memory that is physically close to that processor.
摘要:
A technique is provided whereby a stream of data located in a first storage location is registered for migration administration and according to preset criteria, portion(s) of the stream of data that are suited to another storage location are migrated to maximize system storage efficiencies. The file system may have use of facilities that enable the monitoring of files/streams that have been registered for migration administration or files/streams may be polled according to preset criteria. If the stream of data has portions to migrate to another storage location, the hierarchical storage management (HSM) system migrates the data to the other storage location, such as to long term or off-line storage, and preserves the data relationships of the stream via metadata. The technique allows for multiple volumes to be spanned by the migration target location, and multiple file systems may service the source and target.
摘要:
A method and system for limiting resource usage of a version store. A limit indicates a total amount of resources that may be consumed by in-progress transactions. A running total of the amount of remaining resources is maintained. Before a new transaction is started, a determination is made as to whether there are enough resources remaining to complete the new transaction. If so, the transaction starts and the running total is adjusted. If not, the transaction waits until more resources are available. When a transaction completes, if it is the oldest in-progress transaction, resources are released. Otherwise, the resources associated with the transaction are not released until all transactions that started before the transaction have completed. This ensures that a client of a version store does not exceed the limit of resources that may be consumed by in-progress transactions.
摘要:
A method for concurrent data migration includes classifying files to be migrated into plural jobs, selecting media to which to migrate each job, and using plural drives concurrently to write the jobs to the media. The selection of a medium is performed in a way that prevents the number of writeable media from exceeding the number of available drives, unless no allocated medium has sufficient space to store any files in a migration job. A medium is preferentially selected that has already been allocated for writing, has space to store at least one file in the job, is not in use for another job, and can be robotically mounted on a drive. If such a medium does not exist, then the set of available media is canvassed to locate an alternative medium. The attributes of each medium are evaluated to determine which medium can be selected most consistently with the goals of (1) preventing the number of media from exceeding the number of drives, and (2) providing sufficient media to allow plural drives to be used concurrently. The technique can be embodied in a file management environment that transparently migrates files meeting certain criteria and stores the location of the migrated file in a reparse point provided by the file system.
摘要:
A system and method store information to a sequential storage media such that storage space occupied-by data deemed obsolete may be reclaimed. Information may be written to the storage media as sequential data sets with each data set including a catalog describing the information in the data set. A reclamation catalog identifies the obsolete data stored on the media and is written to the media. A generation number on the storage media may indicate whether the storage media has been reclaimed. A reclamation process transfers data from the source media (e.g., the tape media that includes obsolete data) to a destination media (e.g., a blank tape) while excluding the obsolete data identified in the reclamation catalog. The reclamation process may read a catalog stored on the source media that describes the data stored on the source media. The reclamation process then modifies that catalog by the information stored in the reclamation catalog to create a unified catalog. The unified catalog identifies which of the data stored on the source media is to be copied to the destination media. The reclamation process then copies the data identified in the unified catalog to the destination media. The reclamation process may additionally increment the generation number to indicate that the storage media has been reclaimed.
摘要:
A request is received from a software component of a software product to access a value of a public setting of the software component. A check is made as to whether the request conforms to an appropriate format for the public setting. If the request conforms to the appropriate format, then the requested access is performed. However, if the request does not conform to the appropriate format, then the requested access is denied. Multiple values for the public setting can be received and maintained concurrently.