Hi Greg,
I got a few review comments/questions. Pls see below.
Best Regards,
Matthias
P.S. I'm a kernel newbie so don't hesitate to tell me if I'm wrong ;-)
Shouldn't ops be tested for 0 here? (ASSERT/BUG_ON/...) (get's dereferenced later quite often in the form "if (sink->ops->...)".
Shouldn't the atomic/locked part cover the ...->free(...) as well? A pi_get right after the atomic_dec_and_test but before the free() could lead to a free() with refs>0?
--