cvs commit: src/sys/dev/ata ata-all.c ata-disk.c
sos at spider.deepcore.dk
Sat Sep 6 06:08:58 PDT 2003
It seems Nate Lawson wrote:
> On Fri, 5 Sep 2003, David G. Lawrence wrote:
> > Nate Lawson wrote:
> > > Yikes, invasive. Is there a way to do a "if (held(lock))" construct
> > > instead?
> > What do you mean by invasive?
> Changing all the callers to pass a flag whether or not they hold the lock.
> I'm not experienced with what the best accepted approach to locking is.
> However, it seems like locks should not require external information (i.e.
> hints) or recursion generally. I understand this is not an OS lock but an
> ATA lock but it seems like the same principle would apply. My question is
> whether there is a way the call path can be changed so that the flag is
> implicit or for the exception case there is a way to query the lock to see
> if it's already held. Would such an approach be feasible?
Please keep in mund that this is only a stopgap solution until the
ATA driver from -current gets backported...
More information about the cvs-src