Hi,

sfex_lock.c would work like this;
1) read lock data
2) check current lock status
3) reserve lock
4) detect the collision of lock
5) extension of lock
6) lock acquisition completion

in "reserve lock" phase, each node writes its status on the disk,
and the later node is going to reserve the lock.
the former one gives up and the race will be end here.

During collision_timeout waiting, the cord around "detect the collision of
lock" has responsibility to prevent the race.
in other cases, "check current lock status" would prevent it.

as a precondition to ensure the control exclusively,
lock_timeout should be longer enough than collision_timeout.

Does that answer you?

Thanks,
Junko


> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of Xinwei Hu
> Sent: Thursday, August 09, 2007 8:58 PM
> To: High-Availability Linux Development List
> Subject: Re: [Linux-ha-dev] Shared disk file Exclusiveness
> controlprogramforHB2
>
> 2007/8/9, Junko IKEDA <[EMAIL PROTECTED]>:
> > Hi,
> >
> > sorry, my previous answer was off the mark...
> > When 2 nodes reach there at the same time,
> > node A notices that the other node want to lock too, so give up lock
itself.
>
> I only see that you sleep a period of collision_timeout. This will not
prevent
> race condition from happening.
> Am i missing anything else ?
>
> > node B is ready to lock.
> >
> > Thanks,
> > Junko
> >
> >
> > > -----Original Message-----
> > > From: [EMAIL PROTECTED]
> > > [mailto:[EMAIL PROTECTED] On Behalf Of Junko
IKEDA
> > > Sent: Thursday, August 09, 2007 4:30 PM
> > > To: 'High-Availability Linux Development List'
> > > Subject: RE: [Linux-ha-dev] Shared disk file Exclusiveness control
> > > programforHB2
> > >
> > > Hi,
> > >
> > > You know that could be true...
> > > but if it's called from RA, 2 nodes wouldn't reach that part at the
same
> > > time, right?
> > > One node will be able to reach there according to the score rule.
> > >
> > > Thanks,
> > > Junko
> > >
> > > > -----Original Message-----
> > > > From: [EMAIL PROTECTED]
> > > > [mailto:[EMAIL PROTECTED] On Behalf Of Xinwei
Hu
> > > > Sent: Thursday, August 09, 2007 3:00 PM
> > > > To: High-Availability Linux Development List
> > > > Subject: Re: [Linux-ha-dev] Shared disk file Exclusiveness control
> > program
> > > > forHB2
> > > >
> > > > Hi,
> > > >
> > > >   There's races in the sfex_lock.c.
> > > >
> > > >   When 2 nodes reach sfex_lock.c:265 in the same time.
> > > >
> > > >   node A: reserve lock -> wait for collision_timeout -> hold lock
> > > >   node B: sleep           -> sleep                             ->
> > reserve
> > > > lock
> > > >
> > > > 在 星期三 08 八月 2007 12:00,NAKAHIRA Kazutomo 写道:
> > > > > Hello, all.
> > > > >
> > > > > We wrote a Shared Disk File EXclusiveness Control Program, called
> > > > > "SF-EX" for short, could prevent a destruction of data on
> > > > > shared disk file system due to Split-Brain.
> > > > >
> > > > > This program consists of CUI commands written in the C and RA,
> > > > > the former is used for managing and monitoring shared disk status
> > > > > and the latter is the same as other common RAs.
> > > > >
> > > > > We tested this program on IBM and HP platform, and we confirmed
> > > > > all functions worked well.
> > > > >
> > > > > Our test environment is listed below:
> > > > >  Software:
> > > > >   OS :RHEL4 ES Update5(kernel2.6.9-55.ELsmp)
> > > > >   HB2:heartbeat-2.1.2-2
> > > > >
> > > > >  Hardware:
> > > > >   IBM platform:
> > > > >    Server     : System x3650
> > > > >    Shared disk: DS 4700 (FC)
> > > > >
> > > > >   HP platform:
> > > > >    Server     : DL380G5
> > > > >    Shared disk: MSA500G2 (SCSI)
> > > > >
> > > > > How to install and configuration are described in README.
> > > > > If you are interested in this program, please try it and
> > > > > let me know your comments.
> > > > >
> > > > > Your suggestions on how to improve are really appreciated.
> > > > >
> > > > > Best regards.
> > > > _______________________________________________________
> > > > Linux-HA-Dev: Linux-HA-Dev@lists.linux-ha.org
> > > > http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
> > > > Home Page: http://linux-ha.org/
> > >
> > > _______________________________________________________
> > > Linux-HA-Dev: Linux-HA-Dev@lists.linux-ha.org
> > > http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
> > > Home Page: http://linux-ha.org/
> >
> > _______________________________________________________
> > Linux-HA-Dev: Linux-HA-Dev@lists.linux-ha.org
> > http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
> > Home Page: http://linux-ha.org/
> >

_______________________________________________________
Linux-HA-Dev: Linux-HA-Dev@lists.linux-ha.org
http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
Home Page: http://linux-ha.org/

Reply via email to