|
|
About
TODO
Blog
RSS
Old blog
Projects
Gallery
Notes
Sun, 27 Apr 2008
Detailed POHMELFS roadmap.
Transaction support will be added into kernel client.
It is possible that it will be exported to userspace (thus
it will be synchronous write-through operations).
Also kernel client will get locking support (fcntl()
ones first, then more fine-grained ones), this is different from
byte-range
read/write locking, which will be done on server. It is possible to export
it to client too (and will be part of POHMELFS locking API actually, which will
be used for fcntl() too).
The simplest case is data invalidation in client's cache (i.e. if one client
issued a writeback for given page, it has to be marked as not up-to-date on other
clients). Likely it will be done at the beginning of the next week. So far it
will be the last cache coherency item. Task is relly simple because of
asynchronous processing of all data in kernel client. Server will have
to store not only index of directories to watch for object changes there,
but also per-object set of pages, read by client, so that appropriate
users could be notified, that page is no longer up-to-date and has to
be refreshed.
Userspace server will get parallel and distributed facilities. Parallel processing
will be done first by allowing lookup and readdir callbacks return inormation
about objects, which will contain address of the server where object is actually
located, so that server could read, write or check status there. So far the whole
file will be stored on a server, i.e. for the first implementation there will not
be a possibility to store half of the file on one server and another half on different
one. Then it can be extended.
Server will get ability to store data on different root directories (so that client
was not able to see shadow copies). There will be simple regexp policies for data storing,
for example '*.jpg' has to be stored in root1 and root2, '*.txt' only in root1 and so
on. Each root directory can be local or remote mounted one, userspace does not care
about this issues.
Main part is already completed: I have a vision of what system has to provide and how
it will look like, so with good design of the low-level mechanisms it becomes
a doable task for the predictible timeframe.
Stay tuned!
/devel/fs :: Link / Comments (0)
Please solve this captcha to be allowed to post (need to reload in a minute): 99 + 0
|