1. 05 12月, 2009 2 次提交
    • B
      [SCSI] osduld: Use device->release instead of internal kref · d6ae4333
      Boaz Harrosh 提交于
      The true logic of this patch will be clear in the next patch where we
      use the class_find_device() API. When doing so the use of an internal
      kref leaves us a narrow window where a find is started while the actual
      object can go away. Using the device's kobj reference solves this
      problem because now the same kref is used for both operations. (Remove
      and find)
      
      Core changes
      * Embed a struct device in uld_ structure and use device_register
        instead of devie_create. Set __remove to be the device release
        function.
      * __uld_get/put is just get_/put_device. Now every thing is accounted
        for on the device object. Internal kref is removed.
      * At __remove() we can safely de-allocate the uld_ structure. (The
        function has moved to avoid forward declaration)
      
      Some cleanups
      * Use class register/unregister is cleaner for this driver now.
      * cdev ref-counting games are no longer necessary
      
      I have incremented the device version string in case of new bugs.
      
      Note: Previous bugfix of taking the reference around fput() still
            applies.
      Signed-off-by: NBoaz Harrosh <bharrosh@panasas.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      d6ae4333
    • B
      [SCSI] libosd: osd_dev_is_ver1 - Minor API cleanup · d531b379
      Boaz Harrosh 提交于
      define a new osd_dev_is_ver1 that operates on devices
      and the old osd_req_is_ver1 uses that new API.
      Signed-off-by: NBoaz Harrosh <bharrosh@panasas.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      d531b379
  2. 10 6月, 2009 4 次提交
  3. 13 3月, 2009 6 次提交