RE: [PATCH 1/1] cciss: scsi error handling

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2005-11-11 at 13:38 -0600, Cameron, Steve wrote:
> About the locking first,
> 
> So, there's one part that I was a little worried about, where
> it does this in a couple places:
> 
>         c = (ctlr_info_t **) &scsicmd->device->host->hostdata[0];
> 
> (gets our adapter structure by following pointers in the scsi
> command)
> 
> So, if that pointer chain can change suddenly, then my code is bad.
> 
> Can doing "echo scsi remove-single-device . . . > /proc/scsi/scsi"
> cause that pointer chain to break?  I noticed I can yank a disk
> out from under a mounted filesystem with 
> "echo scsi remove-single-device"  It wasn't obvious to me whether
> doing that would affect that pointer chain though, though I could
> imagine it might.
> 
> Or am I barking up the wrong tree worrying about 
> the scsicmd->device->host->hostdata pointer chain
> getting yanked out from under me?

No, the pointers are all held in place.  Even if everyone else releases
their references, the commmand still contains a reference to the device
(which holds it from being released) and the device likewise contains a
reference to the host.

James


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux