Preserving file metadata during atomic save operations
First Claim
1. A method of preserving directory metadata associated with an edited directory, comprising:
- on a client device;
storing in a log information denoting a plurality of create, delete, and rename operations for one or more directories in a file system and one or more files in the one or more directories;
identifying in the log two or more file system operations denoted in the log, including an operation involving a first directory and another operation involving a second directory, that together comprise an atomic operation, which is an atomic save of a respective directory, the first directory comprising a first version of the respective directory, and the second directory comprising a second version of the respective directory that is subsequent to the first version of the respective directory, the first directory and second directory each having associated metadata;
in accordance with the identification of the two or more file system operations as comprising the atomic operation, the atomic operation comprising said atomic save of the respective directory, revising metadata of the second directory with a subset of the metadata of the first directory;
identifying, in the respective atomically saved directory, a set of files associated with the respective directory;
for a respective file in the identified set of files, the respective file having a corresponding first file in the first version of the respective directory and second file in the second version of the respective directory, the first file and second file each having associated metadata, associating a subset of the metadata of the first file with the second file, such that at least one of a globally unique file identifier and file access permissions associated with the first file become associated with the second file; and
performing a synchronization with a server system, the synchronization utilizing the second file in conjunction with the globally unique file identifier to synchronize at least one of content and metadata of the second file on the client device with corresponding information stored at the server system with respect to the globally unique file identifier.
2 Assignments
0 Petitions
Accused Products
Abstract
A method of preserving file metadata associated with an edited file, performed on a client device, includes storing in a log information denoting a plurality of create, delete, and rename operations on one or more files in a file system, and determining when two or more operations denoted in the log, including an operation involving a first file and another operation involving a second file, comprise an atomic save of a respective file, the first file comprising a first version of the respective file, and the second file comprising a second version of the respective file, the first file and second file each having associated metadata. The method further includes associating a subset of the metadata of the first file with the second file, such that at least one of a globally unique file identifier and file access permissions associated with the first file become associated with the second file.
103 Citations
31 Claims
-
1. A method of preserving directory metadata associated with an edited directory, comprising:
on a client device; storing in a log information denoting a plurality of create, delete, and rename operations for one or more directories in a file system and one or more files in the one or more directories; identifying in the log two or more file system operations denoted in the log, including an operation involving a first directory and another operation involving a second directory, that together comprise an atomic operation, which is an atomic save of a respective directory, the first directory comprising a first version of the respective directory, and the second directory comprising a second version of the respective directory that is subsequent to the first version of the respective directory, the first directory and second directory each having associated metadata; in accordance with the identification of the two or more file system operations as comprising the atomic operation, the atomic operation comprising said atomic save of the respective directory, revising metadata of the second directory with a subset of the metadata of the first directory; identifying, in the respective atomically saved directory, a set of files associated with the respective directory; for a respective file in the identified set of files, the respective file having a corresponding first file in the first version of the respective directory and second file in the second version of the respective directory, the first file and second file each having associated metadata, associating a subset of the metadata of the first file with the second file, such that at least one of a globally unique file identifier and file access permissions associated with the first file become associated with the second file; and performing a synchronization with a server system, the synchronization utilizing the second file in conjunction with the globally unique file identifier to synchronize at least one of content and metadata of the second file on the client device with corresponding information stored at the server system with respect to the globally unique file identifier. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
20. A system for preserving directory metadata associated with an edited directory, comprising:
-
one or more processors; memory; and one or more programs stored in the memory, the one or more programs comprising instructions to; store in a log information denoting a plurality of create, delete, and rename operations for one or more directories in a file system and one or more files in the one or more directories; identify in the log two or more file system operations denoted in the log, including an operation involving a first directory and another operation involving a second directory, that together comprise an atomic operation, which is an atomic save of a respective directory, the first directory comprising a first version of the respective directory, and the second directory comprising a second version of the respective directory that is subsequent to the first version of the respective directory, the first directory and second directory each having associated metadata; in accordance with the identification of the two or more file system operations as comprising the atomic operation, the atomic operation comprising said atomic save of the respective directory, revise metadata of the second directory by associating a subset of the metadata of the first directory; identify, in the respective atomically saved directory, a set of files associated with the respective directory; for a respective file in the identified set of files, the respective file having a corresponding first file in the first version of the respective directory and second file in the second version of the respective directory, the first file and second file each having associated metadata, associate a subset of the metadata of the first file with the second file, such that at least one of a globally unique file identifier and file access permissions associated with the first file become associated with the second file; and perform a synchronization with a server system, the synchronization utilizing the second file in conjunction with the globally unique file identifier to synchronize at least one of content and metadata of the second file on the client device with corresponding information stored at the server system with respect to the globally unique file identifier. - View Dependent Claims (21, 22, 23, 24, 25)
-
-
26. A non-transitory computer readable storage medium storing one or more programs configured for execution by one or more processors of a computer system for preserving directory metadata associated with an edited directory, the one or more programs comprising instructions to:
-
store in a log information denoting a plurality of create, delete, and rename operations for one or more directories in a file system and one or more files in the one or more directories; identify in the log two or more file system operations denoted in the log, including an operation involving a first directory and another operation involving a second directory, that together comprise an atomic operation, which is an atomic save of a respective directory, the first directory comprising a first version of the respective directory, and the second directory comprising a second version of the respective directory that is subsequent to the first version of the respective directory, the first directory and second directory each having associated metadata; in accordance with the identification of the two or more file system operations as comprising the atomic operation, the atomic operation comprising said atomic save of the respective directory, revise metadata of the second directory with a subset of the metadata of the first directory; identify, in the respective atomically saved directory, a set of files associated with the respective directory; for a respective file in the identified set of files, the respective file having a corresponding first file in the first version of the respective directory and second file in the second version of the respective directory, the first file and second file each having associated metadata, associate a subset of the metadata of the first file with the second file, such that at least one of a globally unique file identifier and file access permissions associated with the first file become associated with the second file; and perform a synchronization with a server system, the synchronization utilizing the second file in conjunction with the globally unique file identifier to synchronize at least one of content and metadata of the second file on the client device with corresponding information stored at the server system with respect to the globally unique file identifier. - View Dependent Claims (27, 28, 29, 30, 31)
-
Specification