]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blob - fs/ocfs2/stackglue.h
40a0024134043f3379eea53c4691d396f642269c
[linux-2.6-omap-h63xx.git] / fs / ocfs2 / stackglue.h
1 /* -*- mode: c; c-basic-offset: 8; -*-
2  * vim: noexpandtab sw=8 ts=8 sts=0:
3  *
4  * stackglue.h
5  *
6  * Glue to the underlying cluster stack.
7  *
8  * Copyright (C) 2007 Oracle.  All rights reserved.
9  *
10  * This program is free software; you can redistribute it and/or
11  * modify it under the terms of the GNU General Public
12  * License as published by the Free Software Foundation, version 2.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17  * General Public License for more details.
18  */
19
20
21 #ifndef STACKGLUE_H
22 #define STACKGLUE_H
23
24 struct ocfs2_locking_protocol {
25         void (*lp_lock_ast)(void *astarg);
26         void (*lp_blocking_ast)(void *astarg, int level);
27         void (*lp_unlock_ast)(void *astarg, enum dlm_status status);
28 };
29
30 enum dlm_status ocfs2_dlm_lock(struct dlm_ctxt *dlm,
31                    int mode,
32                    struct dlm_lockstatus *lksb,
33                    u32 flags,
34                    void *name,
35                    unsigned int namelen,
36                    void *astarg);
37 enum dlm_status ocfs2_dlm_unlock(struct dlm_ctxt *dlm,
38                      struct dlm_lockstatus *lksb,
39                      u32 flags,
40                      void *astarg);
41
42 void o2cb_get_stack(struct ocfs2_locking_protocol *proto);
43 void o2cb_put_stack(void);
44
45 #endif  /* STACKGLUE_H */