From fb9390a27abc32d1e34ee18dd4c0b71c209b49b7 Mon Sep 17 00:00:00 2001 From: Wouter Verhelst Date: Fri, 6 Aug 2010 12:35:06 -0400 Subject: [PATCH] Use a recent enough version of nbd.h (oops) --- nbd.h | 132 +++++------------------------------------------------------------ 1 file changed, 9 insertions(+), 123 deletions(-) diff --git a/nbd.h b/nbd.h index 082a55b..6eab0ab 100644 --- a/nbd.h +++ b/nbd.h @@ -15,96 +15,7 @@ #ifndef LINUX_NBD_H #define LINUX_NBD_H -#define NBD_SET_SOCK _IO( 0xab, 0 ) -#define NBD_SET_BLKSIZE _IO( 0xab, 1 ) -#define NBD_SET_SIZE _IO( 0xab, 2 ) -#define NBD_DO_IT _IO( 0xab, 3 ) -#define NBD_CLEAR_SOCK _IO( 0xab, 4 ) -#define NBD_CLEAR_QUE _IO( 0xab, 5 ) -#define NBD_PRINT_DEBUG _IO( 0xab, 6 ) -#define NBD_SET_SIZE_BLOCKS _IO( 0xab, 7 ) -#define NBD_DISCONNECT _IO( 0xab, 8 ) - -enum { - NBD_CMD_READ = 0, - NBD_CMD_WRITE = 1, - NBD_CMD_DISC = 2, -}; - -#define nbd_cmd(req) ((req)->cmd[0]) -#define MAX_NBD 128 - -/* userspace doesn't need the nbd_device structure */ -#ifdef __KERNEL__ - -/* values for flags field */ -#define NBD_READ_ONLY 0x0001 -#define NBD_WRITE_NOCHK 0x0002 - -struct nbd_device { - int flags; - int harderror; /* Code of hard error */ - struct socket * sock; - struct file * file; /* If == NULL, device is not ready, yet */ - int magic; - spinlock_t queue_lock; - struct list_head queue_head;/* Requests are added here... */ - struct semaphore tx_lock; - struct gendisk *disk; - int blksize; - u64 bytesize; -}; - -#endif - -/* These are sent over the network in the request/reply magic fields */ - -#define NBD_REQUEST_MAGIC 0x25609513 -#define NBD_REPLY_MAGIC 0x67446698 -/* Do *not* use magics: 0x12560953 0x96744668. */ - -/* - * This is the packet used for communication between client and - * server. All data are in network byte order. - */ -struct nbd_request { - u32 magic; - u32 type; /* == READ || == WRITE */ - char handle[8]; - u64 from; - u32 len; -} -#ifdef __GNUC__ - __attribute__ ((packed)) -#endif -; - -/* - * This is the reply packet that nbd-server sends back to the client after - * it has completed an I/O request (or an error occurs). - */ -struct nbd_reply { - u32 magic; - u32 error; /* 0 = ok, else error */ - char handle[8]; /* handle you got from request */ -}; -#endif -/* - * 1999 Copyright (C) Pavel Machek, pavel@ucw.cz. This code is GPL. - * 1999/11/04 Copyright (C) 1999 VMware, Inc. (Regis "HPReg" Duchesne) - * Made nbd_end_request() use the io_request_lock - * 2001 Copyright (C) Steven Whitehouse - * New nbd_end_request() for compatibility with new linux block - * layer code. - * 2003/06/24 Louis D. Langholtz - * Removed unneeded blksize_bits field from nbd_device struct. - * Cleanup PARANOIA usage & code. - * 2004/02/19 Paul Clements - * Removed PARANOIA, plus various cleanup and comments - */ - -#ifndef LINUX_NBD_H -#define LINUX_NBD_H +#include #define NBD_SET_SOCK _IO( 0xab, 0 ) #define NBD_SET_BLKSIZE _IO( 0xab, 1 ) @@ -115,6 +26,7 @@ struct nbd_reply { #define NBD_PRINT_DEBUG _IO( 0xab, 6 ) #define NBD_SET_SIZE_BLOCKS _IO( 0xab, 7 ) #define NBD_DISCONNECT _IO( 0xab, 8 ) +#define NBD_SET_TIMEOUT _IO( 0xab, 9 ) enum { NBD_CMD_READ = 0, @@ -123,30 +35,8 @@ enum { }; #define nbd_cmd(req) ((req)->cmd[0]) -#define MAX_NBD 128 /* userspace doesn't need the nbd_device structure */ -#ifdef __KERNEL__ - -/* values for flags field */ -#define NBD_READ_ONLY 0x0001 -#define NBD_WRITE_NOCHK 0x0002 - -struct nbd_device { - int flags; - int harderror; /* Code of hard error */ - struct socket * sock; - struct file * file; /* If == NULL, device is not ready, yet */ - int magic; - spinlock_t queue_lock; - struct list_head queue_head;/* Requests are added here... */ - struct semaphore tx_lock; - struct gendisk *disk; - int blksize; - u64 bytesize; -}; - -#endif /* These are sent over the network in the request/reply magic fields */ @@ -159,24 +49,20 @@ struct nbd_device { * server. All data are in network byte order. */ struct nbd_request { - u32 magic; - u32 type; /* == READ || == WRITE */ + __be32 magic; + __be32 type; /* == READ || == WRITE */ char handle[8]; - u64 from; - u32 len; -} -#ifdef __GNUC__ - __attribute__ ((packed)) -#endif -; + __be64 from; + __be32 len; +} __attribute__ ((packed)); /* * This is the reply packet that nbd-server sends back to the client after * it has completed an I/O request (or an error occurs). */ struct nbd_reply { - u32 magic; - u32 error; /* 0 = ok, else error */ + __be32 magic; + __be32 error; /* 0 = ok, else error */ char handle[8]; /* handle you got from request */ }; #endif -- 1.7.10.4