Patent application number | Description | Published |
20080243936 | TRACKING FILE SYSTEM NAMESPACE CHANGES DURING TRANSACTIONS - Aspects of the subject matter described herein relate to tracking file system namespace changes during transactions. In aspects, a filter monitors operations that may affect a tracked portion of a transactional file system's namespace. When an operation that affects the tracked portion is received, a data structure is modified to track the changes. Nodes within the data structure are marked to indicate whether they can be seen inside or outside of the transaction. If the transaction commits or rolls back, nodes within the data structure are deleted and made visible as appropriate. | 10-02-2008 |
20080243963 | Quota Enforcement With Transacted File Systems - Aspects of the subject matter described herein relate enforcing quotas in transactional file systems. In aspects, a filter monitors operations that may affect quota usage/charge of a file system object having a quota allotment. In doing so, the filter determines a quota value outside of any transaction for the object and a quota value associated with at least one transaction affecting the object. The filter receives a request that involves the use of additional quota. The filter then determines whether to allow or fail the request depending on whether enough quota is available to satisfy the request. | 10-02-2008 |
20090157770 | Live Volume Access - This document describes tools capable of enabling an entity requiring exclusive access to data and metadata of a volume to have that exclusive access while also permitting another entity to have access to data and metadata of that volume. The tools, for example, may permit a ChkDsk program to detect and correct data/metadata integrity errors while permitting users to maintain access to a live volume having that data and metadata. In one embodiment the tools create a copy of a logical volume, permit exclusive access to the copy while permitting access to the live volume, and, when the exclusive access is no longer needed, merge the copy and the live volume. | 06-18-2009 |
20090171957 | METHOD AND SYSTEM OF APPLYING POLICY ON SCREENED FILES - Described is a mechanism comprising a data screening filter and user mode service that applies (enforces) policies regarding allowing or blocking file content of a directory, based on matching the filename against patterns associated with that directory. An administrator configures a screening policy, such as the types of files to allow in a particular directory and the types of files to block. File groups of member patterns and non-member exclusion patterns are defined and selectively collected in directory screening objects (DSOs). A directory screening object (DSO) is associated with a directory. When an I/O create request specifying a filename and a target directory is received, the filename is evaluated against the member/non-member patterns in the file groups referenced by the DSO for that directory to make for an allow or block policy decision. If not matched, DSOs on parent directories are evaluated upwards seeking a policy decision. | 07-02-2009 |
20090248757 | Application-Managed File Versioning - In accordance with one or more aspects of the application-managed file versioning, a request to store a new version of a file is received from an application, the request having been generated by the application. A filename for the new version of the file is generated, derived from a standardized naming convention. The filename includes a first portion having at least a portion of a name of the file, and a second portion having data indicating that the new version of the file is a version of the file. A set of application programming interfaces (APIs) can be exposed that allow the application to manage file versions, such as creating a new version of a file, identifying one or more versions of the file, listing one or more versions of the file, and deleting one or more versions of the file. | 10-01-2009 |
20090327360 | EFFICIENT FILE MANAGEMENT THROUGH GRANULAR OPPORTUNISTIC LOCKING - Improved methods and systems for granular opportunistic locking mechanisms (oplocks) are provided for increasing file caching efficiency. Oplocks can be specified with a combination of three possible granular caching intentions: read, write, and/or handle. An oplock can be specified with an identifier that indicates a client/specific caller to avoid breaking the original oplock due to an incompatibility from other requests of the same client. An atomic oplock flag is added to create operations that allow callers to request an atomic open with an oplock with a given file. | 12-31-2009 |
20100082714 | NESTED FILE SYSTEM SUPPORT - A processing device and a machine-implemented method may be provided for tracking file system dependencies with respect to a volume residing on a storage device and guest volumes residing on virtual storage devices nested within the volume. A shim driver may receive an indication of a virtual storage device being surfaced and may parse contents to surface partitions and volumes contained within the virtual storage device to a system. The shim driver may open a guest volume nested within a host volume and may send a register request, regarding the guest volume, to a virtual disk mini-filter associated with the host volume. The virtual disk mini-filter may save information regarding a relationship between the host volume and the guest volume. The saved information may be used to prevent file system corruption when the host volume is dismounted or unexpectedly removed. | 04-01-2010 |
20100281299 | FILE SYSTEM RECOGNITION STRUCTURE - A set of file system data structure and file system recognition APIs are disclosed that may allow an operating system to identify a partition of a storage device as having a valid file system, even if the operating system does not know how to access the file system a priori. File systems implement these data structures in a standardized, known location within a partition on the storage device such that an operating system may use APIs or other functions to examine that known location for the presence of these data structures. Information on how to interpret the data structure may be obtained using a network or other source. | 11-04-2010 |
20110113021 | FILE SYSTEM FILTERS AND TRANSACTIONS - Aspects of the subject matter described herein relate to file system filters and transactions. In aspects, a filter may enlist to receive notification of events associated with a transaction. Afterwards, the filter may receive notification of a transaction event for which it has enlisted. In response to receiving notification of the transaction the filter may perform an action as appropriate. Aspects of the subject matter described herein may be applied to stacked and managed filters. | 05-12-2011 |
20120079583 | OFFLOAD READS AND WRITES - Aspects of the subject matter described herein relate to offload reads and writes. In aspects, a requestor that seeks to transfer data sends a request for a representation of the data. In response, the requestor receives one or more tokens that represent the data. The requestor may then provide one or more of these tokens to a component with a request to write data represented by the one or more tokens. In some exemplary applications, the component may use the one or more tokens to identify the data and may then read the data or logically write the data without additional interaction with the requestor. Tokens may be invalidated by request or based on other factors. | 03-29-2012 |
20120102272 | EFFICIENT FILE MANAGEMENT THROUGH GRANULAR OPPORTUNISTIC LOCKING - Improved methods and systems for granular opportunistic locking mechanisms (oplocks) are provided for increasing file caching efficiency. Oplocks can be specified with a combination of three possible granular caching intentions: read, write, and/or handle. An oplock can be specified with an identifier that indicates a client/specific caller to avoid breaking the original oplock due to an incompatibility from other requests of the same client. An atomic oplock flag is added to create operations that allow callers to request an atomic open with an oplock with a given file. | 04-26-2012 |
20120110281 | VIRTUALIZATION AND OFFLOAD READS AND WRITES - Aspects of the subject matter described herein relate to virtualization and offload reads and writes. In aspects, an offload read allows a requestor to obtain a token that represents data while an offload write allows the requestor to request that the data (or a part thereof) represented by a token be logically written. Offload reads and writes may be used to perform various actions for virtual environments. | 05-03-2012 |
20120159255 | Online Fault Verification In A File System - Data structure errors, or corruptions, identified during, e.g., normal computing device system processing, file system processing or user access processing, are verified prior to the file system identifying the error for offline correction or notifying the user or system administrator a data structure error exists. Identified data structure corruptions are verified while the file system volumes are maintained online and otherwise accessible to other processing tasks and user access. Verified data structure corruptions are logged for further corrective processing. Data structure corruptions that cannot be verified, i.e., false positives, are not further processed and are not identified to file system administrators or users as corruptions, freeing the file system to concentrate on normal processing and true, verifiable errors. | 06-21-2012 |
20120159256 | File System Resiliency Management - Perceived corruptions encountered on file system volumes, and which cannot be initially remedied online, are processed to verify whether they are true, existing volume data structure corruptions or, alternatively, false positives. Upon the verification of one or more of a volume's corruptions, error scanning is performed to check for, and attempt to remedy online, all the existing corruptions on the volume. Subsequent to error scanning processing, if one or more verified corruptions continue to exist on a file system volume, at file system boot up time spot corruption correction is performed to attempt to remedy the existing, verified corruptions on the volume. Spot corruption correction is performed to attempt to correct verified data structure corruptions on a volume of the file system while the volume is maintained offline for the time necessary to attempt to correct its prior identified corruptions. | 06-21-2012 |
20120233434 | Virtual Disk Storage Techniques - This document describes techniques for storing virtual disk payload data. In an exemplary configuration, each virtual disk extent can be associated with state information that indicates whether the virtual disk extent is described by a virtual disk file. Under certain conditions the space used to describe a virtual disk extent can be reclaimed and state information can be used to determine how read and/or write operations directed to the virtual disk extent are handled. In addition to the foregoing, other techniques are described in the claims, figures, and detailed description of this document. | 09-13-2012 |
20130041985 | TOKEN BASED FILE OPERATIONS - Described are embodiments which allow token-based file operations. The client may request a special offload file operation that is formatted according to a file access protocol. The file operation may be an offload read operation or an offload write operation. In an offload read operation, the client requests that data be logically read from a stored file, or a portion thereof. In response, the file server provides a response that includes a token that represents the logically read data. In some embodiments, the file server may return a response with a token that represents less than all of the requested data if for some reason it cannot provide a token that represents all of the data. The token can then be used by the client in a subsequent offload write operation. In embodiments, the tokens represent immutable data that can be safely and securely used across servers and clients. | 02-14-2013 |
20130067168 | CACHING FOR A FILE SYSTEM - Aspects of the subject matter described herein relate to caching data for a file system. In aspects, in response to requests from applications and storage and cache conditions, cache components may adjust throughput of writes from cache to the storage, adjust priority of I/O requests in a disk queue, adjust cache available for dirty data, and/or throttle writes from the applications. | 03-14-2013 |
20130067270 | QUERYING AND REPAIRING DATA - Aspects of the subject matter described herein relate to querying and repairing data. In aspects, a component may detect that data on storage has become corrupted. In response, the component may request data from one or more redundant copies of the data and may determine which of the redundant copies, if any, are not corrupted. If a non-corrupted copy is found, the component may send a request that the corrupted data be repaired and may identify the non-corrupted copy to use to repair the corrupted data. | 03-14-2013 |
20130073819 | EFFICIENT FILE SYSTEM METADATA SCANNING USING SCOPED SNAPSHOTS - Volumes of a file system remain online, and thus available for use, while being proactively error scanned for corruptions thereon. A snapshot of each volume being proactively error scanned is maintained for the volume during the proactive error scanner processing of the volume. Proactive error scanner processing only requires access to tile system metadata to correctly process a volume for an identification of the corruptions thereon, and thus, a snapshot of the entire volume nerd not be generated nor maintained. The clusters of a volume that store file system metadata are identified and only these clusters are maintained in a scoped snapshot for the volume during proactive error scanning of the volume. | 03-21-2013 |
20130179649 | Offload Read and Write Offload Provider - Aspects of the subject matter described herein relate to an offload provider. In aspects, an offload provider may provide a token that represents data. The offload provider may be expected to ensure that the data the token represents will not change while the token is valid. The offload provider may take actions to ensure the immutability of the data. The actions may be taken, for example, in conjunction with receiving an offload read and/or offload write, and/or in conjunction with receiving another write that, if allowed to proceed, would otherwise change the data represented by the token. | 07-11-2013 |
20130179959 | Zero Token - Aspects of the subject matter described herein relate to a zero token. In aspects, a zero token may be used to represent one or more zeroes in an offload write command. A component receiving an offload write command with the zero token is free to write the zeroes in a variety of ways including, for example, changing data structures the component uses to represent the zeroes, issuing another command that writes zeroes, writing physical zeroes, and so forth. A component receiving an offload write command with the zero token does not need to verify that the zero token was obtained from a successful offload read or that the zero token is still valid. In response to an offload read request, a component may provide the zero token to represent all or a portion of the data associated with the offload read request. | 07-11-2013 |
20140189428 | QUERYING AND REPAIRING DATA - Aspects of the subject matter described herein relate to querying and repairing data. In aspects, a component may detect that data on storage has become corrupted. In response, the component may request data from one or more redundant copies of the data and may determine which of the redundant copies, if any, are not corrupted. If a non-corrupted copy is found, the component may send a request that the corrupted data be repaired and may identify the non-corrupted copy to use to repair the corrupted data. | 07-03-2014 |