|
About
TODO
Blog
RSS
Old blog
Projects
Gallery
Notes
Fri, 16 May 2008
Metadata cache coherency support in POHMELFS.
$ ls -lai /mnt/test 3 -rw-r--r-- 1 root root 94208 2008-05-16 22:27 test $ sudo chown zbr.zbr /mnt/test $ ls -lain /mnt/test 3 -rw-r--r-- 1 2319 1002 94208 2008-05-16 22:27 /mnt/testServer: fserver_get_client_data: thread: 3085847440, cmd: 8, id: 0, start: 2, size: 94, ext: 0. fserver_transaction: thread: 3085847440, trans: 0, size: 94, sub: cmd: 10, id: 3, start: 0, size: 70, ext: 6. fserver_inode_info: path: '/test', size: 94208, mode: 100644, uid: 2319, gid: 1002.So, server now contains all metadata information about updated object on client, pohmelfs_setattr() is synchronous for remotely read inodes
and for already synced indoes, created originally locally. It does nothing,
if object is not yet synced to server, since syncing will provide that info
itself.The only missing thing is to asynchronously broadcast that data to other clients, which requires to create a cache of objects to be interesting for given client, each client will be automatically added into group of interests when it lookups object, so when attribute for given object is being set, update will be sent to interested parties. Client will be dropped from group of interests, when it drops appropriate inode locally (which will force sending a special message). /devel/fs :: Link / Comments (0) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||