diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-21 19:03:40 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-21 19:03:40 -0400 |
commit | 548453fd107f789f5f1bc2dc13cc432ceb3b5efd (patch) | |
tree | dc5a62d49260d66b7390ef110113134e3bef9152 /include | |
parent | 9fd91217b15751997cab35ad309b37b44eaa6774 (diff) | |
parent | fb199746303a6bfd6121834ec9e810471185c530 (diff) |
Merge branch 'for-2.6.26' of git://git.kernel.dk/linux-2.6-block
* 'for-2.6.26' of git://git.kernel.dk/linux-2.6-block:
block: fix blk_register_queue() return value
block: fix memory hotplug and bouncing in block layer
block: replace remaining __FUNCTION__ occurrences
Kconfig: clean up block/Kconfig help descriptions
cciss: fix warning oops on rmmod of driver
cciss: Fix race between disk-adding code and interrupt handler
block: move the padding adjustment to blk_rq_map_sg
block: add bio_copy_user_iov support to blk_rq_map_user_iov
block: convert bio_copy_user to bio_copy_user_iov
loop: manage partitions in disk image
cdrom: use kmalloced buffers instead of buffers on stack
cdrom: make unregister_cdrom() return void
cdrom: use list_head for cdrom_device_info list
cdrom: protect cdrom_device_info list by mutex
cdrom: cleanup hardcoded error-code
cdrom: remove ifdef CONFIG_SYSCTL
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/bio.h | 2 | ||||
-rw-r--r-- | include/linux/blkdev.h | 9 | ||||
-rw-r--r-- | include/linux/cdrom.h | 5 |
3 files changed, 13 insertions, 3 deletions
diff --git a/include/linux/bio.h b/include/linux/bio.h index 4c59bdccd3ee..d259690863fb 100644 --- a/include/linux/bio.h +++ b/include/linux/bio.h | |||
@@ -327,6 +327,8 @@ extern struct bio *bio_map_kern(struct request_queue *, void *, unsigned int, | |||
327 | extern void bio_set_pages_dirty(struct bio *bio); | 327 | extern void bio_set_pages_dirty(struct bio *bio); |
328 | extern void bio_check_pages_dirty(struct bio *bio); | 328 | extern void bio_check_pages_dirty(struct bio *bio); |
329 | extern struct bio *bio_copy_user(struct request_queue *, unsigned long, unsigned int, int); | 329 | extern struct bio *bio_copy_user(struct request_queue *, unsigned long, unsigned int, int); |
330 | extern struct bio *bio_copy_user_iov(struct request_queue *, struct sg_iovec *, | ||
331 | int, int); | ||
330 | extern int bio_uncopy_user(struct bio *); | 332 | extern int bio_uncopy_user(struct bio *); |
331 | void zero_fill_bio(struct bio *bio); | 333 | void zero_fill_bio(struct bio *bio); |
332 | 334 | ||
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index 6f79d40dd3c0..c5065e3d2ca9 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h | |||
@@ -112,6 +112,7 @@ enum rq_flag_bits { | |||
112 | __REQ_RW_SYNC, /* request is sync (O_DIRECT) */ | 112 | __REQ_RW_SYNC, /* request is sync (O_DIRECT) */ |
113 | __REQ_ALLOCED, /* request came from our alloc pool */ | 113 | __REQ_ALLOCED, /* request came from our alloc pool */ |
114 | __REQ_RW_META, /* metadata io request */ | 114 | __REQ_RW_META, /* metadata io request */ |
115 | __REQ_COPY_USER, /* contains copies of user pages */ | ||
115 | __REQ_NR_BITS, /* stops here */ | 116 | __REQ_NR_BITS, /* stops here */ |
116 | }; | 117 | }; |
117 | 118 | ||
@@ -133,6 +134,7 @@ enum rq_flag_bits { | |||
133 | #define REQ_RW_SYNC (1 << __REQ_RW_SYNC) | 134 | #define REQ_RW_SYNC (1 << __REQ_RW_SYNC) |
134 | #define REQ_ALLOCED (1 << __REQ_ALLOCED) | 135 | #define REQ_ALLOCED (1 << __REQ_ALLOCED) |
135 | #define REQ_RW_META (1 << __REQ_RW_META) | 136 | #define REQ_RW_META (1 << __REQ_RW_META) |
137 | #define REQ_COPY_USER (1 << __REQ_COPY_USER) | ||
136 | 138 | ||
137 | #define BLK_MAX_CDB 16 | 139 | #define BLK_MAX_CDB 16 |
138 | 140 | ||
@@ -533,8 +535,13 @@ extern unsigned long blk_max_low_pfn, blk_max_pfn; | |||
533 | * BLK_BOUNCE_ANY : don't bounce anything | 535 | * BLK_BOUNCE_ANY : don't bounce anything |
534 | * BLK_BOUNCE_ISA : bounce pages above ISA DMA boundary | 536 | * BLK_BOUNCE_ISA : bounce pages above ISA DMA boundary |
535 | */ | 537 | */ |
538 | |||
539 | #if BITS_PER_LONG == 32 | ||
536 | #define BLK_BOUNCE_HIGH ((u64)blk_max_low_pfn << PAGE_SHIFT) | 540 | #define BLK_BOUNCE_HIGH ((u64)blk_max_low_pfn << PAGE_SHIFT) |
537 | #define BLK_BOUNCE_ANY ((u64)blk_max_pfn << PAGE_SHIFT) | 541 | #else |
542 | #define BLK_BOUNCE_HIGH -1ULL | ||
543 | #endif | ||
544 | #define BLK_BOUNCE_ANY (-1ULL) | ||
538 | #define BLK_BOUNCE_ISA (ISA_DMA_THRESHOLD) | 545 | #define BLK_BOUNCE_ISA (ISA_DMA_THRESHOLD) |
539 | 546 | ||
540 | /* | 547 | /* |
diff --git a/include/linux/cdrom.h b/include/linux/cdrom.h index a5cd2047624e..5db265ea60f6 100644 --- a/include/linux/cdrom.h +++ b/include/linux/cdrom.h | |||
@@ -910,6 +910,7 @@ struct mode_page_header { | |||
910 | #ifdef __KERNEL__ | 910 | #ifdef __KERNEL__ |
911 | #include <linux/fs.h> /* not really needed, later.. */ | 911 | #include <linux/fs.h> /* not really needed, later.. */ |
912 | #include <linux/device.h> | 912 | #include <linux/device.h> |
913 | #include <linux/list.h> | ||
913 | 914 | ||
914 | struct packet_command | 915 | struct packet_command |
915 | { | 916 | { |
@@ -934,7 +935,7 @@ struct packet_command | |||
934 | /* Uniform cdrom data structures for cdrom.c */ | 935 | /* Uniform cdrom data structures for cdrom.c */ |
935 | struct cdrom_device_info { | 936 | struct cdrom_device_info { |
936 | struct cdrom_device_ops *ops; /* link to device_ops */ | 937 | struct cdrom_device_ops *ops; /* link to device_ops */ |
937 | struct cdrom_device_info *next; /* next device_info for this major */ | 938 | struct list_head list; /* linked list of all device_info */ |
938 | struct gendisk *disk; /* matching block layer disk */ | 939 | struct gendisk *disk; /* matching block layer disk */ |
939 | void *handle; /* driver-dependent data */ | 940 | void *handle; /* driver-dependent data */ |
940 | /* specifications */ | 941 | /* specifications */ |
@@ -994,7 +995,7 @@ extern int cdrom_ioctl(struct file *file, struct cdrom_device_info *cdi, | |||
994 | extern int cdrom_media_changed(struct cdrom_device_info *); | 995 | extern int cdrom_media_changed(struct cdrom_device_info *); |
995 | 996 | ||
996 | extern int register_cdrom(struct cdrom_device_info *cdi); | 997 | extern int register_cdrom(struct cdrom_device_info *cdi); |
997 | extern int unregister_cdrom(struct cdrom_device_info *cdi); | 998 | extern void unregister_cdrom(struct cdrom_device_info *cdi); |
998 | 999 | ||
999 | typedef struct { | 1000 | typedef struct { |
1000 | int data; | 1001 | int data; |