1. 25 Jan, 2008 2 commits
    • FUJITA Tomonori's avatar
      [SCSI] ch: remove forward declarations · 5aa22af3
      FUJITA Tomonori authored
      This moves ch_template and changer_fops structs to the end of file and
      removes forward declarations.
      
      This also removes some trailing whitespace.
      Signed-off-by: default avatarFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@HansenPartnership.com>
      5aa22af3
    • FUJITA Tomonori's avatar
      [SCSI] ch: fix device minor number management bug · da707c54
      FUJITA Tomonori authored
      ch_probe uses the total number of ch devices as minor.
      
      ch_probe:
      	ch->minor = ch_devcount;
      ...
      	ch_devcount++;
      
      Then ch_remove decreases ch_devcount:
      
      ch_remove:
      	ch_devcount--;
      
      If you have two ch devices, sch0 and sch1, and remove sch0,
      ch_devcount is 1. Then if you add another ch device, ch_probe tries to
      create sch1. So you get a warning and fail to create sch1:
      
      Jan 24 16:01:05 nice kernel: sysfs: duplicate filename 'sch1' can not be created
      Jan 24 16:01:05 nice kernel: WARNING: at fs/sysfs/dir.c:424 sysfs_add_one()
      Jan 24 16:01:05 nice kernel: Pid: 2571, comm: iscsid Not tainted 2.6.24-rc7-ga3d2c2e8-dirty #1
      Jan 24 16:01:05 nice kernel:
      Jan 24 16:01:05 nice kernel: Call Trace:
      Jan 24 16:01:05 nice kernel:  [<ffffffff802a22b8>] sysfs_add_one+0x54/0xbd
      Jan 24 16:01:05 nice kernel:  [<ffffffff802a283c>] create_dir+0x4f/0x87
      Jan 24 16:01:05 nice kernel:  [<ffffffff802a28a9>] sysfs_create_dir+0x35/0x4a
      Jan 24 16:01:05 nice kernel:  [<ffffffff803069a1>] kobject_get+0x12/0x17
      Jan 24 16:01:05 nice kernel:  [<ffffffff80306ece>] kobject_add+0xf3/0x1a6
      Jan 24 16:01:05 nice kernel:  [<ffffffff8034252b>] class_device_add+0xaa/0x39d
      Jan 24 16:01:05 nice kernel:  [<ffffffff803428fb>] class_device_create+0xcb/0xfa
      Jan 24 16:01:05 nice kernel:  [<ffffffff80229e09>] printk+0x4e/0x56
      Jan 24 16:01:05 nice kernel:  [<ffffffff802a2054>] sysfs_ilookup_test+0x0/0xf
      Jan 24 16:01:05 nice kernel:  [<ffffffff88022580>] :ch:ch_probe+0xbe/0x61a
      
      (snip)
      
      This patch converts ch to use a standard minor number management way,
      idr like sg and bsg.
      Signed-off-by: default avatarFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@HansenPartnership.com>
      da707c54
  2. 23 Jan, 2008 38 commits