During this session we talked about the general issue of complex message 
layouts.  If you specifically look at the OSD messages important in the IO 
path, you get

MOSDOp
MOSDOpReply
MSubOSDOp
MSubOSDOpReply

The MOSDOp ones aren't too bad.  But the MOSDSubOp's are *terrible*.  Tons 
of fields, overloaded for lots of purposes, half of the fields totally 
unused.

The proposal is to create a new message type, MOSDClientSubOp (and Reply) 
and use that exclusively for replicated (not ec) client ops.  Use only the 
fields that are necessary and be careful about encoding.

The main caller to look at is:

  void ReplicatedBackend::issue_op() in ReplicatedPG.cc

and the receive code.  Captured this in ticket #9961.

Also opened

 9962 osd: kill 'category' in stats and public API

which I'm working on (mostly just cleanup).

sage
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to