On Sun, Aug 5, 2012 at 4:18 PM, Richard Sharpe <realrichardsharpe@xxxxxxxxx> wrote: > Hi folks, > > I think it is possible to convert the CIFS code to using the socket > callbacks in a step-by-step process. > > It seems possible to eliminate the cifs_demultiplex_thread by using > the sk_data_ready callback on the socket structure > (server->ssocket->sk) to drive the receipt of incoming data on the TCP > connection and have the callback drive the processing that is done in > the main loop of the cifs_demultiplex_thread. > > Obviously, there will be a number of details to get correct, and in > particular, the handling of socket errors and reconnect might take > some work because we are called in a different context than the thread > context. > > This would also seem to allow me to unite the RDMA case if I ever get > to that ... > > However, what I worry about is the possibility of stalls/deadlocks. I think I will also have to use the sk_state_change callback to handle connections that have gone away, and then queue work to a workqueue to process things like cifs_reconnect. -- Regards, Richard Sharpe (何以解憂?唯有杜康。--曹操) -- To unsubscribe from this list: send the line "unsubscribe linux-cifs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html