摘要:
An improved technique generates formatted file system metadata in increments only when metadata for those increments are specifically requested. A location on a storage volume designated for storing file system metadata is read and tested to determine whether it stores a predetermined pattern indicating an unformatted state. If the pattern is found, metadata for the designated location are generated and returned. Otherwise, metadata are returned as initially read from the storage volume.
摘要:
A networked data storage system includes a primary volume and a pointer-based virtual secondary volume. The secondary volume has B-tree checkpoints of the state of a primary filesystem of the primary volume. Intermediate syncpoints are declared between checkpoint checkpoints. The syncpoints are logical locations on the secondary volume where the B-tree is known to be in a consistent state. The frequency of syncpoints may be set by an administrator in units of blocks, i.e., a syncpoint to be taken every n blocks. Before performing a B-tree split, entire images of the leaves and parent node involved in the split are written to an intent log in a relatively fast transaction that may comprise a single I/O operation to contiguous memory. Movement of data between leaf nodes and changes to the parent nodes as a result of the split operation proceed asynchronously. In the event of a reboot before the split operation is complete, the intent log is used to complete the split transaction from the most recent syncpoint. When a new syncpoint is declared, the intent log and dirty leaves are flushed.
摘要:
A physical address extension feature maps multiple virtual memory spaces to an extended physical memory. A virtual space manager dynamically allocates pages of the physical memory to respective virtual spaces. The virtual space manager responds to a request from an application for allocation of a page of physical memory by returning a cookie indicating the allocated page. The virtual space manager responds to a request including the cookie by switching virtual address translation to the virtual memory space including the indicated page. The cookie is used to access a cookie cache of state information on the last page of virtual memory having been mapped into physical memory. For example, segments of the page store block map entries for snapshot copies, and the cookie cache caches the last-accessed values of the block numbers and their location within the page.