overlayfs: Implement splice-read
[linux-block.git] / fs / dlm / util.c
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 }