xref: /linux/fs/ceph/ioctl.h (revision 33d4909ccc094b8262667bccdd52e01458bee0df)
18f4e91deSSage Weil #ifndef FS_CEPH_IOCTL_H
28f4e91deSSage Weil #define FS_CEPH_IOCTL_H
38f4e91deSSage Weil 
48f4e91deSSage Weil #include <linux/ioctl.h>
58f4e91deSSage Weil #include <linux/types.h>
68f4e91deSSage Weil 
78f4e91deSSage Weil #define CEPH_IOCTL_MAGIC 0x97
88f4e91deSSage Weil 
98f4e91deSSage Weil /* just use u64 to align sanely on all archs */
108f4e91deSSage Weil struct ceph_ioctl_layout {
118f4e91deSSage Weil 	__u64 stripe_unit, stripe_count, object_size;
128f4e91deSSage Weil 	__u64 data_pool;
13*33d4909cSSage Weil 	__s64 preferred_osd;
148f4e91deSSage Weil };
158f4e91deSSage Weil 
168f4e91deSSage Weil #define CEPH_IOC_GET_LAYOUT _IOR(CEPH_IOCTL_MAGIC, 1,		\
178f4e91deSSage Weil 				   struct ceph_ioctl_layout)
188f4e91deSSage Weil #define CEPH_IOC_SET_LAYOUT _IOW(CEPH_IOCTL_MAGIC, 2,		\
198f4e91deSSage Weil 				   struct ceph_ioctl_layout)
208f4e91deSSage Weil 
218f4e91deSSage Weil /*
228f4e91deSSage Weil  * Extract identity, address of the OSD and object storing a given
238f4e91deSSage Weil  * file offset.
248f4e91deSSage Weil  */
258f4e91deSSage Weil struct ceph_ioctl_dataloc {
268f4e91deSSage Weil 	__u64 file_offset;           /* in+out: file offset */
278f4e91deSSage Weil 	__u64 object_offset;         /* out: offset in object */
288f4e91deSSage Weil 	__u64 object_no;             /* out: object # */
298f4e91deSSage Weil 	__u64 object_size;           /* out: object size */
308f4e91deSSage Weil 	char object_name[64];        /* out: object name */
318f4e91deSSage Weil 	__u64 block_offset;          /* out: offset in block */
328f4e91deSSage Weil 	__u64 block_size;            /* out: block length */
338f4e91deSSage Weil 	__s64 osd;                   /* out: osd # */
348f4e91deSSage Weil 	struct sockaddr_storage osd_addr; /* out: osd address */
358f4e91deSSage Weil };
368f4e91deSSage Weil 
378f4e91deSSage Weil #define CEPH_IOC_GET_DATALOC _IOWR(CEPH_IOCTL_MAGIC, 3,	\
388f4e91deSSage Weil 				   struct ceph_ioctl_dataloc)
398f4e91deSSage Weil 
408f4e91deSSage Weil #endif
41