Re: [RFC] SCSI EH document

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

 



On 08/29/05 05:14, Tejun Heo wrote:
>>Both all the list-heads need to be cleared, otherwise there may be list 
>>corruption next time the element is added to the list_head.
>>
> 
> 
>   scmd->eh_entry is never used as list head.  It's always used as list 
> entry.  So, technically, it needs not be cleared, I think.  No?  The 
> problem we had was w/ shost->eh_cmd_q not being cleared.

In your "strategy" routine:

	...
	spin_lock_irqsave(shost->host_lock, flags);
	list_splice_init(&shost->eh_cmd_q, &error_q);
	spin_unlock_irqrestore(shost->host_lock, flags);
	...

	loop {
		...
		list_del_init(&cmd->eh_entry);
		...
	}

A good policy to follow is:
	1. Never leave prev/next pointing somewhere where
		- you don't belong, or
		- where you don't know existance is in place.
	2. Someone (memory release?) may do:
		if (!list_empty(cmd->eh_entry))
			Refuse to free the memory.
	Which is often the case to check if the object belongs to
	a list. (You shouldn't have to do this but case pointed only for
	illustrational purposes.)

   Luben

-
: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux