util.c (1624B)
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 26int 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 47int 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}