gluster-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gluster-devel] proposals to afr


From: Alexey Filin
Subject: [Gluster-devel] proposals to afr
Date: Mon, 22 Oct 2007 00:32:54 +0400

Hi,

may I propose some ideas to be implemented inside afs to increase its
reliability?

* First idea: an extra extented attribute named e.g. afr_op_counter provides
info about operations performed currently over file, so operations changing
a file's (meta)data are done in a way:

1) afr_master.increase_afr_op_counter <for file in namespace>
2) real operation over file (meta)data
3) afr_master.start_op -> afr_slave.increase_afr_op_counter <for file on a
slave>
4) loop over all slaves by 2)-3)

during close():

1) afr_master.zero_op -> afr_slave.zero_afr_op_counter <for file on a slave>
2) loop over all slaves by 1)
3) afr_master.zero_afr_op_counter <for file in namespace>

with the scheme all operations finished incorrectly are disclosed in a
simple and fast way (with non-zero counter), that scheme is not replacing to
afr version xattr, it is a complement allowing to find inconsistent replicas
when close() doesn't update the xattr on slaves due to afr master crash

* Second idea: afr journal on master (for data or metadata only like in
modern local FS's), to keep all updates in it during operations with afr
slaves and recover after afr crash

hope they have some sense and help to increase glfs reliability

Regards, Alexey


reply via email to

[Prev in Thread] Current Thread [Next in Thread]