Unix/Linux Go Back    


CentOS 7.0 - man page for dlm_unlock_wait (centos section 3)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


DLM_UNLOCK(3)									    DLM_UNLOCK(3)

NAME
       dlm_unlock - unlock a DLM lock

SYNOPSIS
       #include <libdlm.h>

       int dlm_unlock(uint32_t lkid,
		      uint32_t flags, struct dlm_lksb *lksb, void *astarg);

       int dlm_unlock_wait(uint32_t lkid,
			   uint32_t flags, struct dlm_lksb *lksb);

DESCRIPTION
       dlm_unlock() unlocks a lock previously acquired by dlm_lock and its variants.

       Unless  dlm_unlock_wait() is used unlocks are also asynchronous. The AST routine is called
       when the resource is successfully unlocked (see below).

       lkid Lock ID as returned in the lksb

       flags flags affecting the unlock operation:
	 LKF_CANCEL	  Cancel a pending lock or conversion.
			  This returns the lock to it's previously
			  granted mode (in case of a conversion) or
			  unlocks it (in case of a waiting lock).
	 LKF_IVVALBLK	  Invalidate value block
	 LKF_FORCEUNLOCK  Unlock the lock even if it's waiting.

       lksb LKSB to return status and value block information.

       astarg New parameter to be passed to the completion AST.  The completion  AST  routine  is
       the  last completion AST routine specified in a dlm_lock call.  If dlm_lock_wait() was the
       last routine to issue a lock, dlm_unlock_wait() must be	used  to  release  the	lock.  If
       dlm_lock()   was   the	last  routine  to  issue  a  lock  then  either  dlm_unlock()  or
       dlm_unlock_wait() may be called.

   Return values
       0 is returned if the call completed successfully. If not, -1 is returned and errno is  set
       to one of the following:

       EINVAL	       An invalid parameter was passed to the call (eg bad
		       lock mode or flag)
       EINPROGRESS     The lock is already being unlocked
       EBUSY	       The lock is currently being locked or converted
       ENOTEMPTY       An attempt to made to unlock a parent lock that still has
		       child locks.
       ECANCEL	       A lock conversion was successfully cancelled
       EUNLOCK	       An unlock operation completed successfully
		       (sb_status only)
       EFAULT	       The userland buffer could not be read/written by the
		       kernel
       If  an  error  is  returned in the AST, then lksb.sb_status is set to the one of the above
       numbers instead of zero.

EXAMPLE
       int status;
       struct dlm_lksb lksb;

       status = dlm_lock_wait(LKM_EXMODE,
			      &lksb,
			      LKF_NOQUEUE,
			      "MyLock",
			      strlen("MyLock"),
			      0,     // Parent,
			      NULL,  // bast arg
			      NULL,  // bast routine,
			      NULL); // Range

       if (status == 0)
	    dlm_unlock_wait(lksb.sb_lkid, 0, &lksb);

SEE ALSO
       libdlm(3),	dlm_lock(3),	   dlm_open_lockspace(3),	 dlm_create_lockspace(3),
       dlm_close_lockspace(3), dlm_release_lockspace(3)

libdlm functions			   July 5, 2007 			    DLM_UNLOCK(3)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums


All times are GMT -4. The time now is 03:04 AM.