Hi. On Tue, May 13, 2008 at 03:09:06PM -0400, Jeff Garzik (jeff@garzik.org) wrote:Thanks :) Hmm, in sources I think, I need to kick myself to write a somewhat good spec for the next release. Basically protocol contains of fixed sized header (struct netfs_cmd) and attached data, which size is embedded into above header. Simple commands are finished here (essentially all except write/create commands), you can check them in approrpiate address space/inode operations. Transactions follow netlink (which is very ugly but exceptionally extendible) protocol: there is main header (above structure), which holds size of the embedded data, which can be dereferenced as header/data parts, where each inner header corresponds to any command (except transaction header). So one can pack (upto 90 pages of data or different commands on x86, this is limit of the page size devoted to headers) requested number of commands into single 'frame' and submit it to system, which will care about atomicity of that request in regards of being either fully processed by one of the servers or dropped. Sure. First by allowing whole object to be placed on different servers (i.e. one subdir is on server1 and another on server2), probably in the future there will be added support for the same object being distributed to different servers (i.e. half of the big file on server1 and another half on server2). It is slow. But it does solve failure cases. So far POHMELFS does not work as distributed filesystem, so it should not care about it at all, i.e. at most in the very nearest future it will just have number of acceptors in paxos terminology (metadata servers in others) without need for active dynamical reconfiguration, so protocol will be greatly reduced, with addition of dynamical metadata cluster extension protocol will have to be extended. As practice shows, the smaller and simpler initial steps are, the better results eventually become :) -- Evgeniy Polyakov --
| debian developer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
| James Bottomley | Re: Integration of SCST in the mainstream Linux kernel |
| Tony Lindgren | [PATCH 75/90] ARM: OMAP: 243x: Add mappings for SDRC and SMS |
git: | |
| Antonio Almeida | HTB accuracy for high speed |
| Radu Rendec | htb parallelism on multi-core platforms |
| Christoph Lameter | Network latency regressions from 2.6.22 to 2.6.29 |
| Linus Torvalds | Re: [GIT]: Networking |
