Re: [PATCH 08/15] knfsd: spawn kernel thread to probe callback channel

From: Neil Brown
Date: Mon Aug 27 2007 - 19:26:56 EST


On Monday August 27, bfields@xxxxxxxxxxxx wrote:
>
> +/* Reference counting, callback cleanup, etc., all look racy as heck.
> + * And why is cb_set an atomic? */

Agreed.... so do we really want this code in mainline? is the old
code so bad that this is better?

- cb_set should not be atomic.
- This looks like a job for async-rpc rather than a kernel thread
- If you do use a thread, you at least want __module_get before
starting the thread, and module_put_and_exit to terminate the
thread.
- Can you just use 'cb_client' rather than cb_set? If you move
rpc_create into the thread, you don't need to set cb_client until
the callback is successful. Then add a 'cb_active' flag bit
so that you don't have two callbacks at the same time, and it
should be less racy..


The other 14 patches all look ok.

Thanks,
NeilBrown
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/