[Drbd-dev] Re: drbd in linux-ha cvs

Lars Ellenberg lars.ellenberg at linbit.com
Tue Sep 7 12:49:26 CEST 2004


On Tue, Sep 07, 2004 at 11:43:01AM +0200, Philipp Reisner wrote:
> >
> > the point was to have an easy way to _read_ all available information in
> > a well defined way in one chunk. and having it in k=v form makes it
> > direktly useable by bash, and easily useable by perl:
> >
> 
> Is it worth the trouble to maintain two interfaces in drbdadm ?
> 
> Is it less rouble to maintain the 
> 
> CSTATE=$(drbdadm cstate r0)
> LOCAL_STATE=$( $DRBDADM state $RES 2> /dev/null )
> LOCAL_STATE=${LOCAL_STATE%/*}
> LOCAL_STORAGE= $(drbdadm sh-ll-dev r0)
> ...
> 
> lines in the bash script you do ?

the drbdsetup code needs a cleanup anyways, we really need to
restructure what part ends up in some "public" header file, and what
part really still belongs to drbd_int.h ...

it is more clean to have one ioctl, get the full info, and output that.
I feel uneasy about introducing additional races by using several ioctls
in a row (even if they all finish within one second). of course, once we
have that info it could be stale already, but at least we have the
guarantee that at some point in time it was correct.
btw, one more reason to have some kind of "suspend", ask about
information, go figure, do some things, and only then "resume" to allow
changes to take effect... (due in 0.8)

as soon as we have a sane interface, I don't expect the internals to
change so often, so the "maintenance trouble" is very low, either way.

	lge


More information about the drbd-dev mailing list