On 12/27/2010 07:59 AM, Jeff Layton wrote:
> Currently, when a request is cancelled via signal, we delete the mid
> immediately. If the request was already transmitted however, the client
> is still likely to receive a response. When it does, it won't recognize
> it however and will pop a printk.
> 
> It's also a little dangerous to just delete the mid entry like this. We
> may end up reusing that mid. If we do then we could potentially get the
> response from the first request confused with the later one.
> 
> Prevent the reuse of mids by marking them as cancelled and keeping them
> on the pending_mid_q list. If the reply comes in, we'll delete it from
> the list then. If it never comes, then we'll delete it at reconnect
> or when cifsd comes down.
> 
> Reviewed-by: Pavel Shilovsky <[email protected]>
> Signed-off-by: Jeff Layton <[email protected]>
> ---
>  fs/cifs/transport.c |   43 ++++++++++++++++++++++++++++++++++++-------
>  1 files changed, 36 insertions(+), 7 deletions(-)
> 

Looks good to me.

Reviewed-by: Suresh Jayaraman <[email protected]>
--
To unsubscribe from this list: send the line "unsubscribe linux-cifs" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to