Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/fs/dlm/util.c
26278 views
1
// SPDX-License-Identifier: GPL-2.0-only
2
/******************************************************************************
3
*******************************************************************************
4
**
5
** Copyright (C) 2005-2008 Red Hat, Inc. All rights reserved.
6
**
7
**
8
*******************************************************************************
9
******************************************************************************/
10
11
#include "dlm_internal.h"
12
#include "rcom.h"
13
#include "util.h"
14
15
#define DLM_ERRNO_EDEADLK 35
16
#define DLM_ERRNO_EBADR 53
17
#define DLM_ERRNO_EBADSLT 57
18
#define DLM_ERRNO_EPROTO 71
19
#define DLM_ERRNO_EOPNOTSUPP 95
20
#define DLM_ERRNO_ETIMEDOUT 110
21
#define DLM_ERRNO_EINPROGRESS 115
22
23
/* higher errno values are inconsistent across architectures, so select
24
one set of values for on the wire */
25
26
int to_dlm_errno(int err)
27
{
28
switch (err) {
29
case -EDEADLK:
30
return -DLM_ERRNO_EDEADLK;
31
case -EBADR:
32
return -DLM_ERRNO_EBADR;
33
case -EBADSLT:
34
return -DLM_ERRNO_EBADSLT;
35
case -EPROTO:
36
return -DLM_ERRNO_EPROTO;
37
case -EOPNOTSUPP:
38
return -DLM_ERRNO_EOPNOTSUPP;
39
case -ETIMEDOUT:
40
return -DLM_ERRNO_ETIMEDOUT;
41
case -EINPROGRESS:
42
return -DLM_ERRNO_EINPROGRESS;
43
}
44
return err;
45
}
46
47
int from_dlm_errno(int err)
48
{
49
switch (err) {
50
case -DLM_ERRNO_EDEADLK:
51
return -EDEADLK;
52
case -DLM_ERRNO_EBADR:
53
return -EBADR;
54
case -DLM_ERRNO_EBADSLT:
55
return -EBADSLT;
56
case -DLM_ERRNO_EPROTO:
57
return -EPROTO;
58
case -DLM_ERRNO_EOPNOTSUPP:
59
return -EOPNOTSUPP;
60
case -DLM_ERRNO_ETIMEDOUT:
61
return -ETIMEDOUT;
62
case -DLM_ERRNO_EINPROGRESS:
63
return -EINPROGRESS;
64
}
65
return err;
66
}
67
68