On Wed, Dec 5, 2018 at 3:46 AM Dongsheng Yang <dongsheng.yang@xxxxxxxxxxxx> wrote: > > Hi Ilya and Jason, > Maybe there is another option, umh (user mod helper): > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/linux/umh.h > We can provide a subcommand in userspace for journal replaying, and we > can check the journal in rbd map and reaquire exclusive-lock, if we > find there is uncommitted entry, we can call userspace helper by umh to > replay it. Yes, making an upcall from the kernel might be an option, but the problem is that this can happen deep in the I/O path. I'm not sure it's safe wrt memory allocation deadlocks because the helper is ran out of a regular workqueue, etc. Another option might be to daemonize "rbd map" process. Or maybe attempting a minimal replay in the kernel and going read-only in case something is wrong is actually fine as a starting point... Thanks, Ilya