Give anyone who has access to scsi_device access to the genhd struct as well.
Signed-off-by: Kristen Carlson Accardi <[email protected]>
Index: 2.6-git/drivers/scsi/sd.c
===================================================================
--- 2.6-git.orig/drivers/scsi/sd.c
+++ 2.6-git/drivers/scsi/sd.c
@@ -1711,6 +1711,7 @@ static int sd_probe(struct device *dev)
dev_set_drvdata(dev, sdkp);
add_disk(gd);
+ sdp->disk = gd;
sdev_printk(KERN_NOTICE, sdp, "Attached scsi %sdisk %s\n",
sdp->removable ? "removable " : "", gd->disk_name);
Index: 2.6-git/drivers/scsi/sr.c
===================================================================
--- 2.6-git.orig/drivers/scsi/sr.c
+++ 2.6-git/drivers/scsi/sr.c
@@ -604,6 +604,7 @@ static int sr_probe(struct device *dev)
if (sdev->media_change_notify)
disk->flags |= GENHD_FL_MEDIA_CHANGE_NOTIFY;
add_disk(disk);
+ sdev->disk = disk;
sdev_printk(KERN_DEBUG, sdev,
"Attached scsi CD-ROM %s\n", cd->cdi.name);
Index: 2.6-git/include/scsi/scsi_device.h
===================================================================
--- 2.6-git.orig/include/scsi/scsi_device.h
+++ 2.6-git/include/scsi/scsi_device.h
@@ -138,7 +138,7 @@ struct scsi_device {
struct device sdev_gendev;
struct class_device sdev_classdev;
-
+ struct gendisk *disk;
struct execute_work ew; /* used to get process context on put */
enum scsi_device_state sdev_state;
--
On Fri, 2007-05-04 at 11:17 -0700, Kristen Carlson Accardi wrote:
> Give anyone who has access to scsi_device access to the genhd struct as well.
>
> Signed-off-by: Kristen Carlson Accardi <[email protected]>
> Index: 2.6-git/drivers/scsi/sd.c
> ===================================================================
> --- 2.6-git.orig/drivers/scsi/sd.c
> +++ 2.6-git/drivers/scsi/sd.c
> @@ -1711,6 +1711,7 @@ static int sd_probe(struct device *dev)
>
> dev_set_drvdata(dev, sdkp);
> add_disk(gd);
> + sdp->disk = gd;
>
> sdev_printk(KERN_NOTICE, sdp, "Attached scsi %sdisk %s\n",
> sdp->removable ? "removable " : "", gd->disk_name);
> Index: 2.6-git/drivers/scsi/sr.c
> ===================================================================
> --- 2.6-git.orig/drivers/scsi/sr.c
> +++ 2.6-git/drivers/scsi/sr.c
> @@ -604,6 +604,7 @@ static int sr_probe(struct device *dev)
> if (sdev->media_change_notify)
> disk->flags |= GENHD_FL_MEDIA_CHANGE_NOTIFY;
> add_disk(disk);
> + sdev->disk = disk;
>
> sdev_printk(KERN_DEBUG, sdev,
> "Attached scsi CD-ROM %s\n", cd->cdi.name);
> Index: 2.6-git/include/scsi/scsi_device.h
> ===================================================================
> --- 2.6-git.orig/include/scsi/scsi_device.h
> +++ 2.6-git/include/scsi/scsi_device.h
> @@ -138,7 +138,7 @@ struct scsi_device {
>
> struct device sdev_gendev;
> struct class_device sdev_classdev;
> -
> + struct gendisk *disk;
> struct execute_work ew; /* used to get process context on put */
>
> enum scsi_device_state sdev_state;
If you're going to do this, you need to take on board removing the
struct gendisk from all the ULD structures (since it's now become
generic).
James
On Fri, 04 May 2007 15:30:48 -0500
James Bottomley <[email protected]> wrote:
> On Fri, 2007-05-04 at 11:17 -0700, Kristen Carlson Accardi wrote:
> > Give anyone who has access to scsi_device access to the genhd struct as well.
> >
> > Signed-off-by: Kristen Carlson Accardi <[email protected]>
> > Index: 2.6-git/drivers/scsi/sd.c
> > ===================================================================
> > --- 2.6-git.orig/drivers/scsi/sd.c
> > +++ 2.6-git/drivers/scsi/sd.c
> > @@ -1711,6 +1711,7 @@ static int sd_probe(struct device *dev)
> >
> > dev_set_drvdata(dev, sdkp);
> > add_disk(gd);
> > + sdp->disk = gd;
> >
> > sdev_printk(KERN_NOTICE, sdp, "Attached scsi %sdisk %s\n",
> > sdp->removable ? "removable " : "", gd->disk_name);
> > Index: 2.6-git/drivers/scsi/sr.c
> > ===================================================================
> > --- 2.6-git.orig/drivers/scsi/sr.c
> > +++ 2.6-git/drivers/scsi/sr.c
> > @@ -604,6 +604,7 @@ static int sr_probe(struct device *dev)
> > if (sdev->media_change_notify)
> > disk->flags |= GENHD_FL_MEDIA_CHANGE_NOTIFY;
> > add_disk(disk);
> > + sdev->disk = disk;
> >
> > sdev_printk(KERN_DEBUG, sdev,
> > "Attached scsi CD-ROM %s\n", cd->cdi.name);
> > Index: 2.6-git/include/scsi/scsi_device.h
> > ===================================================================
> > --- 2.6-git.orig/include/scsi/scsi_device.h
> > +++ 2.6-git/include/scsi/scsi_device.h
> > @@ -138,7 +138,7 @@ struct scsi_device {
> >
> > struct device sdev_gendev;
> > struct class_device sdev_classdev;
> > -
> > + struct gendisk *disk;
> > struct execute_work ew; /* used to get process context on put */
> >
> > enum scsi_device_state sdev_state;
>
> If you're going to do this, you need to take on board removing the
> struct gendisk from all the ULD structures (since it's now become
> generic).
>
> James
>
Ok - I can send that as a separate patch series, or I can include it
in this one. Which is preferred?
On Mon, 7 May 2007 08:29:28 -0700
Kristen Carlson Accardi <[email protected]> wrote:
> On Fri, 04 May 2007 15:30:48 -0500
> James Bottomley <[email protected]> wrote:
>
> > On Fri, 2007-05-04 at 11:17 -0700, Kristen Carlson Accardi wrote:
> > > Give anyone who has access to scsi_device access to the genhd struct as well.
> > >
> > > Signed-off-by: Kristen Carlson Accardi <[email protected]>
> > > Index: 2.6-git/drivers/scsi/sd.c
> > > ===================================================================
> > > --- 2.6-git.orig/drivers/scsi/sd.c
> > > +++ 2.6-git/drivers/scsi/sd.c
> > > @@ -1711,6 +1711,7 @@ static int sd_probe(struct device *dev)
> > >
> > > dev_set_drvdata(dev, sdkp);
> > > add_disk(gd);
> > > + sdp->disk = gd;
> > >
> > > sdev_printk(KERN_NOTICE, sdp, "Attached scsi %sdisk %s\n",
> > > sdp->removable ? "removable " : "", gd->disk_name);
> > > Index: 2.6-git/drivers/scsi/sr.c
> > > ===================================================================
> > > --- 2.6-git.orig/drivers/scsi/sr.c
> > > +++ 2.6-git/drivers/scsi/sr.c
> > > @@ -604,6 +604,7 @@ static int sr_probe(struct device *dev)
> > > if (sdev->media_change_notify)
> > > disk->flags |= GENHD_FL_MEDIA_CHANGE_NOTIFY;
> > > add_disk(disk);
> > > + sdev->disk = disk;
> > >
> > > sdev_printk(KERN_DEBUG, sdev,
> > > "Attached scsi CD-ROM %s\n", cd->cdi.name);
> > > Index: 2.6-git/include/scsi/scsi_device.h
> > > ===================================================================
> > > --- 2.6-git.orig/include/scsi/scsi_device.h
> > > +++ 2.6-git/include/scsi/scsi_device.h
> > > @@ -138,7 +138,7 @@ struct scsi_device {
> > >
> > > struct device sdev_gendev;
> > > struct class_device sdev_classdev;
> > > -
> > > + struct gendisk *disk;
> > > struct execute_work ew; /* used to get process context on put */
> > >
> > > enum scsi_device_state sdev_state;
> >
> > If you're going to do this, you need to take on board removing the
> > struct gendisk from all the ULD structures (since it's now become
> > generic).
> >
> > James
> >
>
> Ok - I can send that as a separate patch series, or I can include it
> in this one. Which is preferred?
>
I interpret the lack of response to this question to mean that I can just
decide for myself - in which case I prefer to send this as a separate
patchset after this one is integrated.
Thanks!
Kristen
On Wed, 2007-05-09 at 15:50 -0700, Kristen Carlson Accardi wrote:
> interpret the lack of response to this question to mean that I can
> just
> decide for myself - in which case I prefer to send this as a separate
> patchset after this one is integrated.
Sorry ... was sidetracked getting tree into shape.
Yes, separate patch is preferred.
James