Abstract:
A method and system for eliminating the redundant allocation and deallocation of special data on disk, wherein the redundant allocation and deallocation of special data on disk is eliminated by providing an innovate technique for specially allocating special data of a storage system. Specially allocated data is data that is pre-allocated on disk and stored in memory of the storage system. “Special data” may include any pre-decided data, one or more portions of data that exceed a pre-defined sharing threshold, and/or one or more portions of data that have been identified by a user as special. For example, in some embodiments, a zero-filled data block is specially allocated by a storage system. As another example, in some embodiments, a data block whose contents correspond to a particular type document header is specially allocated.
Abstract:
A system uses a proxy server to authenticate a client with an authentication protocol that does not support caching. Rather than cache the client's authentication credentials, or access a client account manager for each network request generated by the client, the proxy server issues a cookie to an authenticated client and authenticate the client for subsequent request on the basis of the cookie.
Abstract:
Detecting and managing idle virtual storage servers (VSSs) on a host system. The host system may execute several VSSs, each VSS may comprise a virtual machine implementing a virtualized storage operating system and provide storage services for one or more clients. Detecting and managing idle virtual storage servers comprises three stages: 1) detecting idle VSSs, 2) suspending an idle VSS, and 3) un-suspending a suspended VSS. For the first stage, idle VSSs are detected using a first metric relating to network activity of the VSS, a second metric relating to storage object-related requests received by a VSS, and a third metric relating to inbound data for a VSS. For the second stage, an idle virtual storage server is suspended to release its resources while preserving its state for possible later use. For the third stage, a suspended virtual storage server may be unsuspended if a client attempts to access it.
Abstract:
Embodiments described herein provide a technique for securely responding to an enumeration request of a data container stored at a location referenced by a junction or mount point within a share served by a storage system. To that end, the technique applies access permissions of the data container at the referenced location instead of permissions that may reside at the junction or mount point. Upon determining that the permissions are insufficient to allow access to the data container, the technique ensures that a descriptor of the junction or mount point is not included in a response to the enumeration request.
Abstract:
A system and method for designating and administering authority in a trusted environment is provided. In some embodiments, a determination is made that a transfer of the authority to a second computing entity is warranted. The second computing entity is opportunistically contacted, and during the opportunistic contact, the authority is passed from the first computing entity to the second computing entity. The passing of the authority from the first computing entity to the second computing entity tasks the second computing entity with updating members of the group of the passing of the authority. The passing of authority may include providing an outstanding group update to the second computing entity and may also include tasking the second computing entity with completing the outstanding group update.
Abstract:
A storage system comprises a cache for caching data blocks and storage devices for storing blocks. A storage operating system may deduplicate sets of redundant blocks on the storage devices based on a deduplication requirement. Blocks in cache are typically deduplicated based on the deduplication on the storage devices. Sets of redundant blocks that have not met the deduplication requirement for storage devices and have not been deduplicated on the storage devices and cache are targeted for further deduplication processing. Sets of redundant blocks may be further deduplicated based on their popularity (number of accesses) in cache. If a set of redundant blocks in cache is determined to have a combined number of accesses being greater than a predetermined threshold number of accesses, the set of redundant blocks is determined to be “popular.” Popular sets of redundant blocks are selected for deduplication in cache and the storage devices.
Abstract:
An on-disk structure of a file system has the capability to maintain snapshot and file system metadata on a storage system. The on-disk structure arranges file system data sequentially on disk within regions, wherein each region comprises a predetermined amount of disk space represented by blocks. The snapshot and file system metadata is maintained within level 1 (L1) indirect blocks of the on-disk structure. Each L1 indirect block describes (i.e., represents) a corresponding region of the on-disk structure of the file system; in the case of an active region, e.g., an L1 indirect block represents an active file data portion of a large file. The L1 indirect block that references an active region also performs file block number-to-disk block number mapping for the region.
Abstract:
In one embodiment, use of hashing in a file system metadata arrangement reduces an amount of metadata stored in a memory of a node in a cluster and reduces the amount of metadata needed to process an input/output (I/O) request at the node. Illustratively, cuckoo hashing may be modified and applied to construct the file system metadata arrangement. The file system metadata arrangement may be illustratively configured as a key-value extent store embodied as a data structure, e.g., a cuckoo hash table, wherein a value, such as a hash table index, may be configured as an index and applied to the cuckoo hash table to obtain a key, such as an extent key, configured to reference a location of an extent on one or more storage devices, such as solid state drives.
Abstract:
A method for enforcing data integrity in an RDMA data storage system includes flushing data write requests to a data storage device before sending an acknowledgment that the data write requests have been executed. An RDMA data storage system includes a node configured to flush data write requests to a data storage device before sending an acknowledgment that a data write request has been executed.
Abstract:
Method and system for access based directory enumeration is provided. When a directory is enumerated for a first time, user credentials are verified against an access control list (ACL) entry that is referenced by an ACL inode (referred to as Xnode). The Xnode number is obtained from a file handle for a directory entry. The verification is recorded in a data structure that stores the Xnode identifier and user identifier. When the directory is enumerated again, the data structure is used to verify that the user has been validated before, instead of loading and checking against an ACL entry.