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 |