Management of cloned objects in file systems

US10691637B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10691637-B2
Application numberUS-201515522307-A
CountryUS
Kind codeB2
Filing dateFeb 5, 2015
Priority dateFeb 5, 2015
Publication dateJun 23, 2020
Grant dateJun 23, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

The present disclosure relates to management of cloned objects and corresponding snapshot objects in file systems by a file server. Aspects may relate to one or more processes for managing file system objects of a file system in a data storage system comprising a file system server, wherein the file system server comprises: a computer system including a processor configured to execute an operating system and further software components executed on the operating system, and a programmable logic device interfacing with the computer system and including a file system management unit configured to manage a file system.

First claim

Opening claim text (preview).

The invention claimed is: 1. A non-transitory computer-readable medium storing program instructions which, when running on or loaded into a file system server or computer connected to a file system server or when being executed by one or more processors or processing units of the file system server or the computer, cause the file system server to execute a method for managing file system objects of a file system in a data storage system comprising the file system server; wherein the file system server comprises: a computer system including a processor configured to execute an operating system and further software components executed on the operating system, and a programmable logic device interfacing with the computer system and including a file system management unit configured to manage a file system; the method performing to remove a parent snapshot object, which previously referenced a first clone object that has been deleted and is currently referencing a single child snapshot object, where the parent snapshot object and the child snapshot object are not visible to a user of the file system server and where the child snapshot object references a second clone object which has not been deleted and is visible to the user, comprising: identifying the parent snapshot object as a candidate for deletion by determining that the parent snapshot object does not currently reference any existing clone object that are visible to the user, identifying one or more data blocks which are owned by the parent snapshot object and which are shared between the parent snapshot object and the child snapshot object, transferring ownership of the identified data blocks from the parent snapshot object to the child snapshot object, and deleting at least portions of the parent snapshot object after performing the transfer of ownership, wherein deleting at least portions of the parent snapshot object comprises deleting one or more data blocks which are still owned by the parent snapshot object after performing the transfer of ownership and which are not related to any previous parent snapshot of the file system managed by the file system server; and preserving data of one or more data blocks which are still owned by the parent snapshot object after performing the transfer of ownership, if the respective one or more data blocks are related to a previous parent snapshot of the file system managed by the file system server. 2. The non-transitory computer readable medium according to claim 1 , wherein: deleting at least portions of the parent snapshot object comprises freeing one or more data blocks which are still owned by the parent snapshot object after performing the transfer of ownership, if the respective one or more data blocks are not related to the previous parent snapshot of the file system managed by the file system server. 3. The non-transitory computer readable medium according to claim 1 , the method further comprising: relocating data of one or more data blocks which are still owned by the parent snapshot object after performing the transfer of ownership, if the respective one or more data blocks are related to the previous parent snapshot of the file system managed by the file system server, and freeing the respective one or more data blocks after relocating the data; and/or determining whether data blocks, which are still owned by the parent snapshot object after performing the transfer of ownership, are related to the previous parent snapshot of the file system based on a comparison of their associated block pointer's second-type checkpoint numbers and a first-type checkpoint number being associated with the previous parent snapshot of the file system. 4. The non-transitory computer readable medium according to claim 1 , wherein the transferring ownership of the identified data blocks from the parent snapshot object to the child snapshot object comprises: setting the checkpoint number of the pointers of the parent snapshot-file, that point to unshared blocks, equal to or larger than a first-type checkpoint number of the child snapshot-file; and exchanging the first-type checkpoint number of the parent snapshot-file with the first-type checkpoint number of the child snapshot-file. 5. A non-transitory computer-readable medium having program instructions which, when running on or loaded into a file system server or computer connected to a file system server or when being executed by one or more processors or processing units of the file system server or the computer, cause the file system server to execute a method for managing file system objects of a file system in a data storage system comprising the file system server; wherein the file system server comprises: a computer system including a processor configured to execute an operating system and further software components executed on the operating system, and a programmable logic device interfacing with the computer system and including a file system management unit configured to manage a file system; the method performing to remove a parent snapshot object, which previously referenced a first clone object that has been deleted and is currently referencing a single child snapshot object, where the parent snapshot object and the child snapshot object are not visible to a user of the file system server and where the child snapshot object references a second clone object which has not been deleted and is visible to the user, comprising: identifying the parent snapshot object as a candidate for deletion by determining that the parent snapshot object does not currently reference any existing clone object that are visible to the user, identifying one or more data blocks which are owned by the parent snapshot object and which are shared between the parent snapshot object and the child snapshot object, transferring ownership of the identified data blocks from the parent snapshot object to the child snapshot object, and deleting at least portions of the parent snapshot object after performing the transfer of ownership by deleting one or more data blocks which are still owned by the parent snapshot object after performing the transfer of ownership and which are not related to any previous parent snapshot of the file system managed by the file system server, wherein transferring ownership of the identified data blocks from the parent snapshot object to the child snapshot object is performed successively for plural groups of data blocks, the method comprising, for each group of data blocks, holding off client access to the data blocks of the respective group of data blocks before transferring ownership of the data blocks of the respective group of data blocks. 6. The non-transitory computer readable medium according to claim 5 , further comprising: for each group of data blocks, releasing the data blocks of the respective group of data blocks for client access after transferring ownership of the data blocks of the respective group of data blocks and/or before transferring ownership of data blocks of a next group of data blocks. 7. The non-transitory computer readable medium according to claim 5 , wherein: identifying one or more data blocks which are owned by the parent snapshot object and which are shared between the parent snapshot object and the child snapshot object include: identifying, by the computer system, one or more data blocks which are owned by the parent snapshot object and which are initially shared between the parent snapshot object prior to holding off client access to the respective data blocks, and identifying, by the programmable logic device and among the identified initially shared data blocks, one or more data blocks which are no longer shared between the parent snapshot object and the child snap

Assignees

Inventors

Classifications

  • G06F16/128Primary

    Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion (error detection or correction of the data by redundancy in operations or in hardware G06F11/14, G06F11/16) · CPC title

  • implemented as replicated file system · CPC title

  • Techniques for file synchronisation in file systems · CPC title

  • Delete operations (erasing in storage systems G06F3/0652) · CPC title

  • Trees, e.g. B+trees · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10691637B2 cover?
The present disclosure relates to management of cloned objects and corresponding snapshot objects in file systems by a file server. Aspects may relate to one or more processes for managing file system objects of a file system in a data storage system comprising a file system server, wherein the file system server comprises: a computer system including a processor configured to execute an operat…
Who is the assignee on this patent?
Hitachi Vantara Llc
What technology area does this patent fall under?
Primary CPC classification G06F16/128. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 23 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).