67 lines · c
1// SPDX-License-Identifier: GPL-2.0-only2/******************************************************************************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 3516#define DLM_ERRNO_EBADR 5317#define DLM_ERRNO_EBADSLT 5718#define DLM_ERRNO_EPROTO 7119#define DLM_ERRNO_EOPNOTSUPP 9520#define DLM_ERRNO_ETIMEDOUT 11021#define DLM_ERRNO_EINPROGRESS 11522 23/* higher errno values are inconsistent across architectures, so select24 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}67