mirror of
git://sourceware.org/git/lvm2.git
synced 2025-03-10 16:58:47 +03:00
Locking prototypes.
This commit is contained in:
parent
075ffca52a
commit
d1ad45cc41
50
lib/locking/locking.h
Normal file
50
lib/locking/locking.h
Normal file
@ -0,0 +1,50 @@
|
||||
/*
|
||||
* Copyright (C) 2001 Sistina Software (UK) Limited.
|
||||
*
|
||||
* This file is released under the LGPL.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "metadata.h"
|
||||
#include "uuid.h"
|
||||
#include "config.h"
|
||||
|
||||
int init_locking(int type, struct config_file *cf);
|
||||
void fin_locking(void);
|
||||
|
||||
/*
|
||||
* LCK_VG:
|
||||
* Lock/unlock on-disk volume group data
|
||||
* Use "" to lock orphan PVs
|
||||
* char *vol holds volume group name
|
||||
*
|
||||
* LCK_LV:
|
||||
* Lock/unlock an individual logical volume
|
||||
* Also suspends/resumes the LV if it's active.
|
||||
* struct logical_volume *vol
|
||||
*
|
||||
* FIXME: Change to
|
||||
* int lock_vol(struct id *id, int flags);
|
||||
*/
|
||||
int lock_vol(void *vol, int flags);
|
||||
|
||||
/*
|
||||
* Lock type
|
||||
*/
|
||||
#define LCK_TYPE_MASK 0x000000FF
|
||||
#define LCK_NONE 0x00000000
|
||||
#define LCK_READ 0x00000001
|
||||
#define LCK_WRITE 0x00000002
|
||||
|
||||
/*
|
||||
* Lock scope
|
||||
*/
|
||||
#define LCK_SCOPE_MASK 0x0000FF00
|
||||
#define LCK_VG 0x00000000
|
||||
#define LCK_LV 0x00000100
|
||||
|
||||
/*
|
||||
* Lock bits
|
||||
*/
|
||||
#define LCK_NONBLOCK 0x00010000
|
||||
|
29
lib/locking/locking_types.h
Normal file
29
lib/locking/locking_types.h
Normal file
@ -0,0 +1,29 @@
|
||||
/*
|
||||
* Copyright (C) 2001 Sistina Software (UK) Limited.
|
||||
*
|
||||
* This file is released under the LGPL.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "metadata.h"
|
||||
#include "config.h"
|
||||
|
||||
typedef int (*lock_resource_fn)(const char *resource, int flags);
|
||||
|
||||
typedef void (*fin_lock_fn)(void);
|
||||
|
||||
|
||||
struct locking_type {
|
||||
lock_resource_fn lock_resource;
|
||||
|
||||
fin_lock_fn fin_locking;
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* Locking types
|
||||
*/
|
||||
int init_file_locking(struct locking_type *locking, struct config_file *cf);
|
||||
|
||||
int init_external_locking(struct locking_type *locking, struct config_file *cf);
|
||||
|
Loading…
x
Reference in New Issue
Block a user