From: Jeff Layton Date: Thu, 16 Apr 2020 16:01:05 +0000 (-0400) Subject: client: rename ceph_statx.h to ceph_ll_client.h X-Git-Tag: v15.2.4~28^2~1^2~5 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=46bc8d013bf6f63ea1d863e61c283aa1ae01b206;p=ceph.git client: rename ceph_statx.h to ceph_ll_client.h ...so we can use it to include other definitions and types that need to be shared with in-tree code that doesn't want to include libcephfs.h. Signed-off-by: Jeff Layton (cherry picked from commit 4436f27a0476e96d10ed3367d738e1679d8b0a38) --- diff --git a/alpine/APKBUILD.in b/alpine/APKBUILD.in index 7a3b598b758b..9348f9ccf914 100644 --- a/alpine/APKBUILD.in +++ b/alpine/APKBUILD.in @@ -396,7 +396,7 @@ libcephfs_dev() { pkgdesc="Ceph distributed file system client library headers" depends="libcephfs librados-devel" - _pkg $_includedir/cephfs ceph_statx.h libcephfs.h + _pkg $_includedir/cephfs ceph_ll_client.h libcephfs.h _pkg $_libdir libcephfs.so } diff --git a/ceph.spec.in b/ceph.spec.in index 2d20cd2bcb7b..7eaf6b01858b 100644 --- a/ceph.spec.in +++ b/ceph.spec.in @@ -2167,7 +2167,7 @@ fi %files -n libcephfs-devel %dir %{_includedir}/cephfs %{_includedir}/cephfs/libcephfs.h -%{_includedir}/cephfs/ceph_statx.h +%{_includedir}/cephfs/ceph_ll_client.h %{_libdir}/libcephfs.so %files -n python%{python3_pkgversion}-cephfs diff --git a/debian/libcephfs-dev.install b/debian/libcephfs-dev.install index e2cf6e9f375d..fbc1e4b95ffe 100644 --- a/debian/libcephfs-dev.install +++ b/debian/libcephfs-dev.install @@ -1,3 +1,3 @@ -usr/include/cephfs/ceph_statx.h +usr/include/cephfs/ceph_ll_client.h usr/include/cephfs/libcephfs.h usr/lib/libcephfs.so diff --git a/src/client/Client.cc b/src/client/Client.cc index 51a811c47966..b92abcfa244e 100644 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -96,7 +96,7 @@ #include "include/ceph_assert.h" #include "include/stat.h" -#include "include/cephfs/ceph_statx.h" +#include "include/cephfs/ceph_ll_client.h" #if HAVE_GETGROUPLIST #include diff --git a/src/client/Client.h b/src/client/Client.h index 89f36328ffef..c488cf7c3863 100644 --- a/src/client/Client.h +++ b/src/client/Client.h @@ -23,7 +23,7 @@ #include "common/cmdparse.h" #include "common/compiler_extensions.h" #include "include/common_fwd.h" -#include "include/cephfs/ceph_statx.h" +#include "include/cephfs/ceph_ll_client.h" #include "include/filepath.h" #include "include/interval_set.h" #include "include/lru.h" diff --git a/src/client/SyntheticClient.cc b/src/client/SyntheticClient.cc index a6d05ff3ec99..9ef5ccf19937 100644 --- a/src/client/SyntheticClient.cc +++ b/src/client/SyntheticClient.cc @@ -36,7 +36,7 @@ #include "common/errno.h" #include "include/ceph_assert.h" -#include "include/cephfs/ceph_statx.h" +#include "include/cephfs/ceph_ll_client.h" #define dout_context g_ceph_context #define dout_subsys ceph_subsys_client diff --git a/src/client/fuse_ll.cc b/src/client/fuse_ll.cc index 57d64a666604..b35606309ce3 100644 --- a/src/client/fuse_ll.cc +++ b/src/client/fuse_ll.cc @@ -33,7 +33,7 @@ #include "ioctl.h" #include "common/config.h" #include "include/ceph_assert.h" -#include "include/cephfs/ceph_statx.h" +#include "include/cephfs/ceph_ll_client.h" #include "fuse_ll.h" #include diff --git a/src/include/cephfs/ceph_ll_client.h b/src/include/cephfs/ceph_ll_client.h new file mode 100644 index 000000000000..f2645c0e0ff6 --- /dev/null +++ b/src/include/cephfs/ceph_ll_client.h @@ -0,0 +1,82 @@ +// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- +// vim: ts=8 sw=2 smarttab +/* + * scalable distributed file system + * + * Copyright (C) Jeff Layton + * + * This is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software + * Foundation. See file COPYING. + */ + +#ifndef CEPH_CEPH_LL_CLIENT_H +#define CEPH_CEPH_LL_CLIENT_H +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Heavily borrowed from David Howells' draft statx patchset. + * + * Since the xstat patches are still a work in progress, we borrow its data + * structures and #defines to implement ceph_getattrx. Once the xstat stuff + * has been merged we should drop this and switch over to using that instead. + */ +struct ceph_statx { + uint32_t stx_mask; + uint32_t stx_blksize; + uint32_t stx_nlink; + uint32_t stx_uid; + uint32_t stx_gid; + uint16_t stx_mode; + uint64_t stx_ino; + uint64_t stx_size; + uint64_t stx_blocks; + dev_t stx_dev; + dev_t stx_rdev; + struct timespec stx_atime; + struct timespec stx_ctime; + struct timespec stx_mtime; + struct timespec stx_btime; + uint64_t stx_version; +}; + +#define CEPH_STATX_MODE 0x00000001U /* Want/got stx_mode */ +#define CEPH_STATX_NLINK 0x00000002U /* Want/got stx_nlink */ +#define CEPH_STATX_UID 0x00000004U /* Want/got stx_uid */ +#define CEPH_STATX_GID 0x00000008U /* Want/got stx_gid */ +#define CEPH_STATX_RDEV 0x00000010U /* Want/got stx_rdev */ +#define CEPH_STATX_ATIME 0x00000020U /* Want/got stx_atime */ +#define CEPH_STATX_MTIME 0x00000040U /* Want/got stx_mtime */ +#define CEPH_STATX_CTIME 0x00000080U /* Want/got stx_ctime */ +#define CEPH_STATX_INO 0x00000100U /* Want/got stx_ino */ +#define CEPH_STATX_SIZE 0x00000200U /* Want/got stx_size */ +#define CEPH_STATX_BLOCKS 0x00000400U /* Want/got stx_blocks */ +#define CEPH_STATX_BASIC_STATS 0x000007ffU /* The stuff in the normal stat struct */ +#define CEPH_STATX_BTIME 0x00000800U /* Want/got stx_btime */ +#define CEPH_STATX_VERSION 0x00001000U /* Want/got stx_version */ +#define CEPH_STATX_ALL_STATS 0x00001fffU /* All supported stats */ + +/* + * Compatibility macros until these defines make their way into glibc + */ +#ifndef AT_NO_ATTR_SYNC +#define AT_NO_ATTR_SYNC 0x4000 /* Don't sync attributes with the server */ +#endif + +/* + * The statx interfaces only allow these flags. In order to allow us to add + * others in the future, we disallow setting any that aren't recognized. + */ +#define CEPH_REQ_FLAG_MASK (AT_SYMLINK_NOFOLLOW|AT_NO_ATTR_SYNC) + +#ifdef __cplusplus +} +#endif + +#endif /* CEPH_STATX_H */ + diff --git a/src/include/cephfs/ceph_statx.h b/src/include/cephfs/ceph_statx.h deleted file mode 100644 index f27fa295131f..000000000000 --- a/src/include/cephfs/ceph_statx.h +++ /dev/null @@ -1,83 +0,0 @@ -// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- -// vim: ts=8 sw=2 smarttab -/* - * scalable distributed file system - * - * Copyright (C) Jeff Layton - * - * Heavily borrowed from David Howells' draft statx patchset. - * - * This is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software - * Foundation. See file COPYING. - * - */ - -#ifndef CEPH_CEPH_STATX_H -#define CEPH_CEPH_STATX_H -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * Since the xstat patches are still a work in progress, we borrow its data - * structures and #defines to implement ceph_getattrx. Once the xstat stuff - * has been merged we should drop this and switch over to using that instead. - */ -struct ceph_statx { - uint32_t stx_mask; - uint32_t stx_blksize; - uint32_t stx_nlink; - uint32_t stx_uid; - uint32_t stx_gid; - uint16_t stx_mode; - uint64_t stx_ino; - uint64_t stx_size; - uint64_t stx_blocks; - dev_t stx_dev; - dev_t stx_rdev; - struct timespec stx_atime; - struct timespec stx_ctime; - struct timespec stx_mtime; - struct timespec stx_btime; - uint64_t stx_version; -}; - -#define CEPH_STATX_MODE 0x00000001U /* Want/got stx_mode */ -#define CEPH_STATX_NLINK 0x00000002U /* Want/got stx_nlink */ -#define CEPH_STATX_UID 0x00000004U /* Want/got stx_uid */ -#define CEPH_STATX_GID 0x00000008U /* Want/got stx_gid */ -#define CEPH_STATX_RDEV 0x00000010U /* Want/got stx_rdev */ -#define CEPH_STATX_ATIME 0x00000020U /* Want/got stx_atime */ -#define CEPH_STATX_MTIME 0x00000040U /* Want/got stx_mtime */ -#define CEPH_STATX_CTIME 0x00000080U /* Want/got stx_ctime */ -#define CEPH_STATX_INO 0x00000100U /* Want/got stx_ino */ -#define CEPH_STATX_SIZE 0x00000200U /* Want/got stx_size */ -#define CEPH_STATX_BLOCKS 0x00000400U /* Want/got stx_blocks */ -#define CEPH_STATX_BASIC_STATS 0x000007ffU /* The stuff in the normal stat struct */ -#define CEPH_STATX_BTIME 0x00000800U /* Want/got stx_btime */ -#define CEPH_STATX_VERSION 0x00001000U /* Want/got stx_version */ -#define CEPH_STATX_ALL_STATS 0x00001fffU /* All supported stats */ - -/* - * Compatibility macros until these defines make their way into glibc - */ -#ifndef AT_NO_ATTR_SYNC -#define AT_NO_ATTR_SYNC 0x4000 /* Don't sync attributes with the server */ -#endif - -/* - * The statx interfaces only allow these flags. In order to allow us to add - * others in the future, we disallow setting any that aren't recognized. - */ -#define CEPH_REQ_FLAG_MASK (AT_SYMLINK_NOFOLLOW|AT_NO_ATTR_SYNC) - -#ifdef __cplusplus -} -#endif - -#endif /* CEPH_STATX_H */ - diff --git a/src/include/cephfs/libcephfs.h b/src/include/cephfs/libcephfs.h index cfbe68a08b85..2876a317c303 100644 --- a/src/include/cephfs/libcephfs.h +++ b/src/include/cephfs/libcephfs.h @@ -27,7 +27,7 @@ #include #include -#include "ceph_statx.h" +#include "ceph_ll_client.h" #ifdef __cplusplus namespace ceph::common { diff --git a/src/pybind/cephfs/cephfs.pyx b/src/pybind/cephfs/cephfs.pyx index 904ff177481d..1dbc44c1dd11 100644 --- a/src/pybind/cephfs/cephfs.pyx +++ b/src/pybind/cephfs/cephfs.pyx @@ -106,7 +106,7 @@ cdef extern from "sys/time.h": long tv_sec long tv_usec -cdef extern from "cephfs/ceph_statx.h": +cdef extern from "cephfs/ceph_ll_client.h": cdef struct statx "ceph_statx": uint32_t stx_mask uint32_t stx_blksize