~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/linux/ceph/cls_lock_client.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0 */
  2 #ifndef _LINUX_CEPH_CLS_LOCK_CLIENT_H
  3 #define _LINUX_CEPH_CLS_LOCK_CLIENT_H
  4 
  5 #include <linux/ceph/osd_client.h>
  6 
  7 enum ceph_cls_lock_type {
  8         CEPH_CLS_LOCK_NONE = 0,
  9         CEPH_CLS_LOCK_EXCLUSIVE = 1,
 10         CEPH_CLS_LOCK_SHARED = 2,
 11 };
 12 
 13 struct ceph_locker_id {
 14         struct ceph_entity_name name;   /* locker's client name */
 15         char *cookie;                   /* locker's cookie */
 16 };
 17 
 18 struct ceph_locker_info {
 19         struct ceph_entity_addr addr;   /* locker's address */
 20 };
 21 
 22 struct ceph_locker {
 23         struct ceph_locker_id id;
 24         struct ceph_locker_info info;
 25 };
 26 
 27 int ceph_cls_lock(struct ceph_osd_client *osdc,
 28                   struct ceph_object_id *oid,
 29                   struct ceph_object_locator *oloc,
 30                   char *lock_name, u8 type, char *cookie,
 31                   char *tag, char *desc, u8 flags);
 32 int ceph_cls_unlock(struct ceph_osd_client *osdc,
 33                     struct ceph_object_id *oid,
 34                     struct ceph_object_locator *oloc,
 35                     char *lock_name, char *cookie);
 36 int ceph_cls_break_lock(struct ceph_osd_client *osdc,
 37                         struct ceph_object_id *oid,
 38                         struct ceph_object_locator *oloc,
 39                         char *lock_name, char *cookie,
 40                         struct ceph_entity_name *locker);
 41 int ceph_cls_set_cookie(struct ceph_osd_client *osdc,
 42                         struct ceph_object_id *oid,
 43                         struct ceph_object_locator *oloc,
 44                         char *lock_name, u8 type, char *old_cookie,
 45                         char *tag, char *new_cookie);
 46 
 47 void ceph_free_lockers(struct ceph_locker *lockers, u32 num_lockers);
 48 
 49 int ceph_cls_lock_info(struct ceph_osd_client *osdc,
 50                        struct ceph_object_id *oid,
 51                        struct ceph_object_locator *oloc,
 52                        char *lock_name, u8 *type, char **tag,
 53                        struct ceph_locker **lockers, u32 *num_lockers);
 54 
 55 int ceph_cls_assert_locked(struct ceph_osd_request *req, int which,
 56                            char *lock_name, u8 type, char *cookie, char *tag);
 57 
 58 #endif
 59 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php