From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pete Zaitcev Subject: Re: [Patch 4/7] tabled: retry conflicting locks Date: Wed, 20 Jan 2010 15:56:45 -0700 Message-ID: <20100120155645.3efb78fe@redhat.com> References: <20100114211312.2df3d349@redhat.com> <4B575F2D.3070403@garzik.org> <20100120131635.64346caa@redhat.com> <4B577D0D.4040908@garzik.org> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <4B577D0D.4040908@garzik.org> Sender: hail-devel-owner@vger.kernel.org List-ID: Content-Type: text/plain; charset="us-ascii" To: Jeff Garzik Cc: Project Hail List > >> This is not correct. CLD has blocking locks. You issue the LOCK op, > >> and will be notified when you have acquired the lock, possibly hours or > >> days later. There is no need to retry anything... > > > > Meanwhile, there's no way to cancel an outstanding lock requiest > > short of blowing off the whole session. I'll switch to LOCK when > > you fix that, but currently TRYLOCK is the only way (which BTW you > > use in cldcli too). > > Do you mean cancelling someone else's lock request? That is not > something that meshes with the design. If you mean cancelling your own > lock request, that's probably reasonable. Own of course. > If there is a problem implementing blocking locks in the protocol or > client, let me know, and we'll fix it. Is there a way to cancel an outstanding lock request? How? You seem to think that there's no problem. Actually I think an cmo_close on a handle that has outstanding requests of any kind should drop them, so I was incorrect about killing the session being the only way. Maybe I can create some kind of ncld_open_locked() by using that feature. That ought to be good enough. -- Pete