Lookup optimization during online file system migration
AssigneeSymantec Corporation
InventorsKedar Patwardhan, Neha Naik, Sanjay Kumar Jain, Sushil Sarjerao Patil
Life of this patent
Estimating the term…
Abstract
A system and method for migrating file systems is provided. A file system migration operation copies a plurality of files from a first file system to a second file system. A request to access one of the files being migrated during the file system migration operation results in the creation of a pseudo vnode for the file being requested in the second file system. The pseudo vnode is created prior to creating a vnode for the file in the second file system. In addition, the pseudo vnode is associated with a vnode of the file at the first file system. Information identifying the pseudo vnode is then returned to the application.
Claims19
A method comprising:
- receiving a request to access a file from an application, wherein
- the request is received during a file system migration operation,
- the file system migration operation copies a plurality of files from a first file system to a second file system, and
- the plurality of files comprises the file;
- determining whether the file has been copied from the first file system to the second file system at the time the request is received;
- if the file has not been copied from the first file system to the second file system at the time the request is received,
- creating a pseudo vnode for the file, prior to creation of a vnode for the file, in the second file system, wherein
- the pseudo vnode includes information that enables the application to obtain the file from the first file system, and
- the pseudo vnode is created instead of copying the file from the first file system to the second file system at the time the request is received,
- creating an association between the pseudo vnode in the second file system and a vnode of the file at the first file system, wherein
- the association establishes a connection path between the pseudo vnode in the second file system and the vnode of the file at the first file system, and
- returning information identifying the pseudo vnode to the application, wherein
- the pseudo vnode and the association allow the application to locate and access the file in the first file system without having to create the file in the second file system, and
- the information identifying the pseudo vnode allows the application to perform an operation on the file at the first file system;
- if the file has been copied from the first file system to the second file system at the time the request is received, returning information identifying the file at the first and second file systems to the application, wherein
- the information identifying the file at the first and second file systems allows the application to perform the operation on the file at the first and second file systems;
- and
- copying an existing file from the first file system to the second file system when the existing file is closed at the first file system.
A non-transitory computer readable storage medium comprising program instructions executable to:
- receive a request to access a file from an application, wherein
- the request is received during a file system migration operation,
- the file system migration operation copies a plurality of files from a first file system to a second file system, and
- the plurality of files comprises the file;
- determine whether the file has been copied from the first file system to the second file system at the time the request is received;
- if the file has not been copied from the first file system to the second file system at the time the request is received,
- create a pseudo vnode for the file, prior to creation of a vnode for the file in the second file system, wherein
- the pseudo vnode includes information that enables the application to obtain the file from the first file system, and
- the pseudo vnode is created instead of copying the file from the first file system to the second file system at the time the request is received,
- create an association between the pseudo vnode in the second file system and a vnode of the file at the first file system, wherein
- the association establishes a connection path between the pseudo vnode in the second file system and the vnode of the file at the first file system, and
- return information identifying the pseudo vnode to the application, wherein
- the pseudo vnode and the association allow the application to locate and access the file in the first file system without having to create the file in the second file system, and
- the information identifying the pseudo vnode allows the application to perform an operation on the file at the first file system;
- if the file has been copied from the first file system to the second file system at the time the request is received, return information identifying the file at the first and second file systems to the application, wherein
- the information identifying the file at the first and second file systems allows the application to perform the operation on the file at the first and second file systems;
- and
- copy an existing file from the first file system to the second file system when the existing file is closed at the first file system.
A system comprising:
- one or more processors;
- and
- memory coupled to the one or more processors, wherein the memory stores program instructions executable by the one or more processors to:
- receive a request to access a file from an application, wherein
- the request is received during a file system migration operation,
- the file system migration operation copies a plurality of files from a first file system to a second file system, and
- the plurality of files comprises the file,
- determine whether the file has been copied from the first file system to the second file system at the time the request is received,
- if the file has not been copied from the first file system to the second file system at the time the request is received,
- create a pseudo vnode for the file, prior to creation of a vnode for the file, in the second file system, wherein
- the pseudo vnode includes information that enables the application to obtain the file from the first file system, and
- the pseudo vnode is created instead of copying the file from the first file system to the second file system at the time the request is received,
- create an association between the pseudo vnode in the second file system and a vnode of the file at the first file system, wherein
- the association establishes a connection path between the pseudo vnode in the second file system and the vnode of the file at the first file system, and
- return information identifying the pseudo vnode to the application, wherein
- the pseudo vnode and the association allow the application to locate and access the file in the first file system without having to create the file in the second file system, and
- the information identifying the pseudo vnode allows the application to perform an operation on the file at the first file system,
- if the file has been copied from the first file system to the second file system at the time the request is received, return information identifying the file at the first and second file systems to the application, wherein
- the information identifying the file at the first and second file systems allows the application to perform the operation on the file at the first and second file systems, and
- copy an existing file from the first file system to the second file system when the existing file is closed at the first file system.
Dependencies are inferred from the claim text.