Lookup optimization during online file system migration
First Claim
Patent Images
1. A method comprising:
- receiving a request to access a file from an application, whereinthe 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, andthe 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, whereinthe pseudo vnode includes information that enables the application to obtain the file from the first file system, andthe 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, whereinthe 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, andreturning information identifying the pseudo vnode to the application, whereinthe 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, andthe 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, whereinthe 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.
6 Assignments
0 Petitions
Accused Products
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.
24 Citations
19 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. 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. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. 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. - View Dependent Claims (16, 17, 18, 19)
-
Specification