]> git.hungrycats.org Git - linux/commitdiff
[PATCH] devfs: sanitize devfs_register_tape prototype
authorChristoph Hellwig <hch@lst.de>
Fri, 18 Apr 2003 02:19:55 +0000 (19:19 -0700)
committerJeff Garzik <jgarzik@redhat.com>
Fri, 18 Apr 2003 02:19:55 +0000 (19:19 -0700)
Pass in the path directly instead of getting it from a devfs_handle_t.

drivers/ide/ide-tape.c
drivers/scsi/osst.c
drivers/scsi/st.c
fs/devfs/util.c
include/linux/devfs_fs_kernel.h

index 6c43fd2afffdc94b6ef36b786e4ed7e3c8c3e915..6266a8a3cddddf11330add5e56e0825aa6c584d0 100644 (file)
@@ -6318,7 +6318,7 @@ static int idetape_attach (ide_drive_t *drive)
                        S_IFCHR | S_IRUGO | S_IWUGO,
                        &idetape_fops, NULL);
 
-       drive->disk->number = devfs_register_tape(drive->de);
+       drive->disk->number = devfs_register_tape(drive->devfs_name);
        drive->disk->fops = &idetape_block_ops;
        return 0;
 failed:
index 56a707368d72cfa76249893f8a42f9b04c0d456d..a11b5ba064fb43278d063936013b5266d0a87bd1 100644 (file)
@@ -5571,7 +5571,7 @@ static int osst_attach(Scsi_Device * SDp)
                                        S_IFCHR | S_IRUGO | S_IWUGO,
                                        &osst_fops, NULL);
        }
-       drive->number = devfs_register_tape (SDp->de);
+       drive->number = devfs_register_tape(SDp->devfs_name);
 
        printk(KERN_INFO
                "osst :I: Attached OnStream %.5s tape at scsi%d, channel %d, id %d, lun %d as %s\n",
index e11a76efd5f17e46767b80379138b1b661d809b7..ba81dc7f682e0b0d0f370952488f28efdba57e55 100644 (file)
@@ -3909,7 +3909,7 @@ static int st_attach(Scsi_Device * SDp)
                                S_IFCHR | S_IRUGO | S_IWUGO,
                                &st_fops, NULL);
        }
-       disk->number = devfs_register_tape(SDp->de);
+       disk->number = devfs_register_tape(SDp->devfs_name);
 
        printk(KERN_WARNING
        "Attached scsi tape %s at scsi%d, channel %d, id %d, lun %d\n",
index 19a5b8de334b2ed610457721812490b969048acb..ef896fa7fa53c7b00bbc5b3281174d1d5ff7e9a7 100644 (file)
 #define PRINTK(format, args...) \
    {printk (KERN_ERR "%s" format, __FUNCTION__ , ## args);}
 
+int devfs_register_tape(const char *name)
+{
+       char tname[32], dest[64];
+       static unsigned int tape_counter;
+       unsigned int n = tape_counter++;
 
-/*  Private functions follow  */
-
-/**
- *     devfs_register_tape - Register a tape device in the "/dev/tapes" hierarchy.
- *     @de: Any tape device entry in the device directory.
- */
+       sprintf(dest, "../%s", name);
+       sprintf(tname, "tapes/tape%u", n);
+       devfs_mk_symlink(tname, dest);
 
-int devfs_register_tape (devfs_handle_t de)
-{
-    int pos;
-    char name[32], dest[64];
-    static unsigned int tape_counter;
-    int n = tape_counter++;
-
-    pos = devfs_generate_path (de, dest + 3, sizeof dest - 3);
-    if (pos < 0) return -1;
-    strncpy (dest + pos, "../", 3);
-    sprintf (name, "tapes/tape%u", n);
-    devfs_mk_symlink (name, dest + pos);
-    return n;
-}   /*  End Function devfs_register_tape  */
+       return n;
+}
 EXPORT_SYMBOL(devfs_register_tape);
 
 void devfs_unregister_tape(int num)
index e7eea3cb3b126916dcb6837233540da60e9a42d9..d926d12e532db305485f1cfe6ff2cffdaf9fc771 100644 (file)
@@ -32,7 +32,7 @@ extern devfs_handle_t devfs_mk_dir(const char *fmt, ...)
 extern void devfs_remove(const char *fmt, ...)
        __attribute__((format (printf, 1, 2)));
 extern int devfs_generate_path (devfs_handle_t de, char *path, int buflen);
-extern int devfs_register_tape (devfs_handle_t de);
+extern int devfs_register_tape(const char *name);
 extern void devfs_unregister_tape(int num);
 extern void devfs_create_partitions(struct gendisk *dev);
 extern void devfs_create_cdrom(struct gendisk *dev);