Evgeniy Polyakov wrote:
Well, that's how things exist today - POHMELFS client connects to number of servers and can send data to all of them (currently it doest that for only 'active' server, i.e. that which was not failed, but that can be trivially changed). It should be extended to receive 'add/remove server to the group' command and liekly that's all (modulo other todo items which are not yet resolved). Then that group becomes quorum and client has to get response from them. Kind of that... What I do not like, is putting lots of logic into client, like following inner server state changes (sync/not sync, quorum election and so on). With above dumb scheme it should not, but some other magic in the server land will tell client with whom to start working.
The client need not (and should not) worry about quorum, elections or server cloud state management. The client need only support these basics: some method of read balancing, parallel data writes, and a method to retrieve a list of active servers.
The server cloud and/or cluster management can handle the rest, including telling the client if the transaction failed or succeeded (as it must), or if it should store to additional replicas before the transaction may proceed.
Jeff -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html