System and method of building an atomic view of a filesystem that lacks support for atomic operations
First Claim
1. A method of generating a file change notification in real-time for a filesystem according to a user-space algorithm, the method comprising:
- adding a watch to an initial directory;
establishing handlers for the watch;
reading content of the initial directory after the watch is added;
adding a subdirectory watch to subdirectories of the initial directory;
establishing handlers for the subdirectory watch; and
reading content of the subdirectories after the subdirectory watch is added.
2 Assignments
0 Petitions
Accused Products
Abstract
The invention is directed to a system and method of providing an accurate, consistent, and atomic view of a non-translational filesystem or a subset thereof, without explicit filesystem or file notification support for building an atomic view. A user-space algorithm is coupled with a file change notification kernel to identify changes to directories and objects within the directories in real-time so that the filesystem may remain atomically synchronized with any changes performed to the system, while avoiding a race hazard. When coupled with a file change notification system, the invention enables building of an atomic view of a filesystem in real-time, in user-space, and in memory.
-
Citations
20 Claims
-
1. A method of generating a file change notification in real-time for a filesystem according to a user-space algorithm, the method comprising:
-
adding a watch to an initial directory;
establishing handlers for the watch;
reading content of the initial directory after the watch is added;
adding a subdirectory watch to subdirectories of the initial directory;
establishing handlers for the subdirectory watch; and
reading content of the subdirectories after the subdirectory watch is added. - View Dependent Claims (2, 4, 5, 6, 7, 8, 9)
-
-
10. A method of generating an atomic view of a non-transactional filesystem, comprising:
-
accessing a kernel-level file change notification;
accessing a user-space algorithm;
accessing an initial directory that is stored in a memory;
accessing objects that are stored in the memory;
associating object names with the objects through an inode;
adding a directory watch to the initial directory;
adding an object watch to each object;
establishing handlers for the directory watch and the object watch;
reading content of the initial directory and the objects after the directory watch and the object watch are added;
adding a subdirectory watch to subdirectories of the initial directory;
establishing handlers for the subdirectory watch;
reading content of the subdirectories after the subdirectory watch is added; and
generating events that are triggered by interactions with the initial directory, objects, and subdirectories. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A device for generating an atomic view of a non-transactional file system, comprising:
-
a processor that includes instructions for;
accessing a kernel-level file change notification;
accessing a user-space algorithm;
accessing an initial directory that is stored in a memory;
accessing objects that are stored in the memory;
associating object names with the objects through an inode;
adding a directory watch to the initial directory;
adding an object watch to each object;
establishing handlers for the directory watch and the object watch;
reading content of the initial directory and the objects after the directory watch and the object watch are added;
adding a subdirectory watch to subdirectories of the initial directory;
establishing handlers for the subdirectory watch;
reading content of the subdirectories after the subdirectory watch is added; and
generating events that are triggered by interactions with the initial directory, objects, and subdirectories. - View Dependent Claims (17, 18, 19, 20)
-
Specification