summaryrefslogtreecommitdiffstats
path: root/drivers/block
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-03-23 02:25:38 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-03-23 02:25:38 +0000
commit16b5d462f73eb29d1f67fa01cc1ea66afdc72569 (patch)
tree5407bd573f4840e473ea27cbe61e5c7a07131fcd /drivers/block
parentce8a076e11e7e5ee36007f9a3eee5bb3744cb8f6 (diff)
Merge with Linux 2.3.99-pre2.
Diffstat (limited to 'drivers/block')
-rw-r--r--drivers/block/Config.in2
-rw-r--r--drivers/block/floppy.c52
-rw-r--r--drivers/block/ll_rw_blk.c4
-rw-r--r--drivers/block/lvm.c8
-rw-r--r--drivers/block/nbd.c2
5 files changed, 8 insertions, 60 deletions
diff --git a/drivers/block/Config.in b/drivers/block/Config.in
index 51a6db89c..cadc7eca7 100644
--- a/drivers/block/Config.in
+++ b/drivers/block/Config.in
@@ -31,7 +31,7 @@ if [ "$CONFIG_ATARI" = "y" ]; then
fi
fi
tristate 'XT hard disk support' CONFIG_BLK_DEV_XD
-dep_tristate 'Parallel port IDE device support' CONFIG_PARIDE $CONFIG_PARIDE_PARPORT
+dep_tristate 'Parallel port IDE device support' CONFIG_PARIDE $CONFIG_PARPORT
if [ "$CONFIG_PARIDE" = "y" -o "$CONFIG_PARIDE" = "m" ]; then
source drivers/block/paride/Config.in
fi
diff --git a/drivers/block/floppy.c b/drivers/block/floppy.c
index be7e25879..06c088aa8 100644
--- a/drivers/block/floppy.c
+++ b/drivers/block/floppy.c
@@ -4378,60 +4378,12 @@ static void __init parse_floppy_cfg_string(char *cfg)
}
}
-static void __init mod_setup(char *pattern, int (*setup)(char *))
-{
- unsigned long i;
- char c;
- int j;
- int match;
- char buffer[100];
- int length = strlen(pattern)+1;
-
- match=0;
- j=1;
-
- for (i=current->mm->env_start; i< current->mm->env_end; i ++){
- get_user(c, (char *)i);
- if (match){
- if (j==99)
- c='\0';
- buffer[j] = c;
- if (!c || c == ' ' || c == '\t'){
- if (j){
- buffer[j] = '\0';
- setup(buffer);
- }
- j=0;
- } else
- j++;
- if (!c)
- break;
- continue;
- }
- if ((!j && !c) || (j && c == pattern[j-1]))
- j++;
- else
- j=0;
- if (j==length){
- match=1;
- j=0;
- }
- }
-}
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
int init_module(void)
{
printk(KERN_INFO "inserting floppy driver for " UTS_RELEASE "\n");
if(floppy)
parse_floppy_cfg_string(floppy);
- else
- mod_setup("floppy=", floppy_setup);
-
return floppy_init();
}
@@ -4453,10 +4405,6 @@ MODULE_PARM(FLOPPY_DMA,"i");
MODULE_AUTHOR("Alain L. Knaff");
MODULE_SUPPORTED_DEVICE("fd");
-#ifdef __cplusplus
-}
-#endif
-
#else
__setup ("floppy=", floppy_setup);
diff --git a/drivers/block/ll_rw_blk.c b/drivers/block/ll_rw_blk.c
index 63c5e4b85..431860f44 100644
--- a/drivers/block/ll_rw_blk.c
+++ b/drivers/block/ll_rw_blk.c
@@ -319,9 +319,9 @@ static struct request * __get_request_wait(int n, kdev_t dev)
DECLARE_WAITQUEUE(wait, current);
unsigned long flags;
- add_wait_queue(&wait_for_request, &wait);
+ add_wait_queue_exclusive(&wait_for_request, &wait);
for (;;) {
- current->state = TASK_UNINTERRUPTIBLE;
+ __set_current_state(TASK_UNINTERRUPTIBLE|TASK_EXCLUSIVE);
spin_lock_irqsave(&io_request_lock,flags);
req = get_request(n, dev);
spin_unlock_irqrestore(&io_request_lock,flags);
diff --git a/drivers/block/lvm.c b/drivers/block/lvm.c
index 9f58a48d5..beb4f1364 100644
--- a/drivers/block/lvm.c
+++ b/drivers/block/lvm.c
@@ -892,8 +892,8 @@ static int lvm_blk_ioctl(struct inode *inode, struct file *file,
"%s -- lvm_blk_ioctl -- BLKGETSIZE: %u\n",
lvm_name, lv_ptr->lv_size);
#endif
- copy_to_user((long *) arg, &lv_ptr->lv_size,
- sizeof(lv_ptr->lv_size));
+ if (put_user(lv_ptr->lv_size, (long *)arg))
+ return -EFAULT;
break;
@@ -931,8 +931,8 @@ static int lvm_blk_ioctl(struct inode *inode, struct file *file,
printk(KERN_DEBUG
"%s -- lvm_blk_ioctl -- BLKRAGET\n", lvm_name);
#endif
- copy_to_user((long *) arg, &lv_ptr->lv_read_ahead,
- sizeof(lv_ptr->lv_read_ahead));
+ if (put_user(lv->lv_read_ahead, (long *)arg))
+ return -EFAULT;
break;
diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c
index a0b63a8c8..0c3f5429f 100644
--- a/drivers/block/nbd.c
+++ b/drivers/block/nbd.c
@@ -299,7 +299,7 @@ void nbd_clear_que(struct nbd_device *lo)
static void do_nbd_request(request_queue_t * q)
{
struct request *req;
- int dev;
+ int dev = 0;
struct nbd_device *lo;
while (!QUEUE_EMPTY) {