Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0-only
0002 /******************************************************************************
0003 *******************************************************************************
0004 **
0005 **  Copyright (C) 2005-2008 Red Hat, Inc.  All rights reserved.
0006 **
0007 **
0008 *******************************************************************************
0009 ******************************************************************************/
0010 
0011 #include "dlm_internal.h"
0012 #include "rcom.h"
0013 #include "util.h"
0014 
0015 #define DLM_ERRNO_EDEADLK       35
0016 #define DLM_ERRNO_EBADR         53
0017 #define DLM_ERRNO_EBADSLT       57
0018 #define DLM_ERRNO_EPROTO        71
0019 #define DLM_ERRNO_EOPNOTSUPP        95
0020 #define DLM_ERRNO_ETIMEDOUT        110
0021 #define DLM_ERRNO_EINPROGRESS          115
0022 
0023 /* higher errno values are inconsistent across architectures, so select
0024    one set of values for on the wire */
0025 
0026 int to_dlm_errno(int err)
0027 {
0028     switch (err) {
0029     case -EDEADLK:
0030         return -DLM_ERRNO_EDEADLK;
0031     case -EBADR:
0032         return -DLM_ERRNO_EBADR;
0033     case -EBADSLT:
0034         return -DLM_ERRNO_EBADSLT;
0035     case -EPROTO:
0036         return -DLM_ERRNO_EPROTO;
0037     case -EOPNOTSUPP:
0038         return -DLM_ERRNO_EOPNOTSUPP;
0039     case -ETIMEDOUT:
0040         return -DLM_ERRNO_ETIMEDOUT;
0041     case -EINPROGRESS:
0042         return -DLM_ERRNO_EINPROGRESS;
0043     }
0044     return err;
0045 }
0046 
0047 int from_dlm_errno(int err)
0048 {
0049     switch (err) {
0050     case -DLM_ERRNO_EDEADLK:
0051         return -EDEADLK;
0052     case -DLM_ERRNO_EBADR:
0053         return -EBADR;
0054     case -DLM_ERRNO_EBADSLT:
0055         return -EBADSLT;
0056     case -DLM_ERRNO_EPROTO:
0057         return -EPROTO;
0058     case -DLM_ERRNO_EOPNOTSUPP:
0059         return -EOPNOTSUPP;
0060     case -DLM_ERRNO_ETIMEDOUT:
0061         return -ETIMEDOUT;
0062     case -DLM_ERRNO_EINPROGRESS:
0063         return -EINPROGRESS;
0064     }
0065     return err;
0066 }