Merge tag 'mips-fixes_6.4_1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips...
[linux.git] / fs / dlm / ast.h
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /******************************************************************************
3 *******************************************************************************
4 **
5 **  Copyright (C) 2005-2010 Red Hat, Inc.  All rights reserved.
6 **
7 **
8 *******************************************************************************
9 ******************************************************************************/
10
11 #ifndef __ASTD_DOT_H__
12 #define __ASTD_DOT_H__
13
14 #define DLM_ENQUEUE_CALLBACK_NEED_SCHED 1
15 #define DLM_ENQUEUE_CALLBACK_SUCCESS    0
16 #define DLM_ENQUEUE_CALLBACK_FAILURE    -1
17 int dlm_enqueue_lkb_callback(struct dlm_lkb *lkb, uint32_t flags, int mode,
18                              int status, uint32_t sbflags);
19 #define DLM_DEQUEUE_CALLBACK_EMPTY      2
20 #define DLM_DEQUEUE_CALLBACK_LAST       1
21 #define DLM_DEQUEUE_CALLBACK_SUCCESS    0
22 int dlm_dequeue_lkb_callback(struct dlm_lkb *lkb, struct dlm_callback **cb);
23 void dlm_add_cb(struct dlm_lkb *lkb, uint32_t flags, int mode, int status,
24                 uint32_t sbflags);
25 void dlm_callback_set_last_ptr(struct dlm_callback **from,
26                                struct dlm_callback *to);
27
28 void dlm_release_callback(struct kref *ref);
29 void dlm_purge_lkb_callbacks(struct dlm_lkb *lkb);
30 void dlm_callback_work(struct work_struct *work);
31 int dlm_callback_start(struct dlm_ls *ls);
32 void dlm_callback_stop(struct dlm_ls *ls);
33 void dlm_callback_suspend(struct dlm_ls *ls);
34 void dlm_callback_resume(struct dlm_ls *ls);
35
36 #endif
37
38