From 74ea51b1e33a0d1b7a21968ace9a23ff81db2980 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Tue, 6 Oct 2009 13:41:42 -0700 Subject: [PATCH] uclient: pull ioctl.h from kernel tree to out tree --- src/client/ioctl.h | 39 +++++++++++++++++++++++++++++++++++++++ src/client/test_ioctls.c | 2 +- src/push_to_kclient.pl | 5 ++++- 3 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 src/client/ioctl.h diff --git a/src/client/ioctl.h b/src/client/ioctl.h new file mode 100644 index 0000000000000..3c511dab37304 --- /dev/null +++ b/src/client/ioctl.h @@ -0,0 +1,39 @@ +#ifndef FS_CEPH_IOCTL_H +#define FS_CEPH_IOCTL_H + +#include +#include + +#define CEPH_IOCTL_MAGIC 0x97 + +/* just use u64 to align sanely on all archs */ +struct ceph_ioctl_layout { + __u64 stripe_unit, stripe_count, object_size; + __u64 data_pool; +}; + +#define CEPH_IOC_GET_LAYOUT _IOR(CEPH_IOCTL_MAGIC, 1, \ + struct ceph_ioctl_layout) +#define CEPH_IOC_SET_LAYOUT _IOW(CEPH_IOCTL_MAGIC, 2, \ + struct ceph_ioctl_layout) + +/* + * Extract identity, address of the OSD and object storing a given + * file offset. + */ +struct ceph_ioctl_dataloc { + __u64 file_offset; /* in+out: file offset */ + __u64 object_offset; /* out: offset in object */ + __u64 object_no; /* out: object # */ + __u64 object_size; /* out: object size */ + char object_name[64]; /* out: object name */ + __u64 block_offset; /* out: offset in block */ + __u64 block_size; /* out: block length */ + __s64 osd; /* out: osd # */ + struct sockaddr_storage osd_addr; /* out: osd address */ +}; + +#define CEPH_IOC_GET_DATALOC _IOWR(CEPH_IOCTL_MAGIC, 3, \ + struct ceph_ioctl_dataloc) + +#endif diff --git a/src/client/test_ioctls.c b/src/client/test_ioctls.c index 0b110a62aa115..f06f215097191 100644 --- a/src/client/test_ioctls.c +++ b/src/client/test_ioctls.c @@ -11,7 +11,7 @@ #include #include -#include "../kernel/ioctl.h" +#include "ioctl.h" int main(int argc, char **argv) { diff --git a/src/push_to_kclient.pl b/src/push_to_kclient.pl index 0c038b9890285..77a2f0c3c97a9 100755 --- a/src/push_to_kclient.pl +++ b/src/push_to_kclient.pl @@ -15,7 +15,7 @@ until (-d "$dir/.git") { $dir .= "/.."; } -print "copy changed shared files from $dir to $kernel...\n"; +print "pushing changed shared files from $dir to $kernel...\n"; my @files = split(/\n/, `cat $kernel/fs/ceph/README`); for (@files) { next if /^#/; @@ -24,5 +24,8 @@ for (@files) { system "cp -uv $dir/$orig $kernel/$new"; } +print "pulling changed shared files from $dir to $kernel...\n"; +system "cp -uv $kernel/fs/ceph/ioctl.h $dir/src/client/ioctl.h"; + print "done.\n"; -- 2.39.5