]> git.proxmox.com Git - ceph.git/blame - ceph/src/common/lockdep.h
import ceph 16.2.7
[ceph.git] / ceph / src / common / lockdep.h
CommitLineData
7c673cae
FG
1// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2// vim: ts=8 sw=2 smarttab
3/*
4 * Ceph - scalable distributed file system
5 *
6 * Copyright (C) 2008-2011 New Dream Network
7 *
8 * This is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License version 2.1, as published by the Free Software
11 * Foundation. See file COPYING.
12 *
13 */
14
15#ifndef CEPH_LOCKDEP_H
16#define CEPH_LOCKDEP_H
17
9f95a23c 18#include "include/common_fwd.h"
b32b8144 19extern bool g_lockdep;
7c673cae
FG
20
21extern void lockdep_register_ceph_context(CephContext *cct);
22extern void lockdep_unregister_ceph_context(CephContext *cct);
9f95a23c
TL
23// lockdep tracks dependencies between multiple and different instances
24// of locks within a class denoted by `n`.
25// Caller is obliged to guarantee name uniqueness.
7c673cae
FG
26extern int lockdep_register(const char *n);
27extern void lockdep_unregister(int id);
11fdf7f2
TL
28extern int lockdep_will_lock(const char *n, int id, bool force_backtrace=false,
29 bool recursive=false);
7c673cae
FG
30extern int lockdep_locked(const char *n, int id, bool force_backtrace=false);
31extern int lockdep_will_unlock(const char *n, int id);
32extern int lockdep_dump_locks();
7c673cae 33#endif