Re: [PATCH 00/11 V1] rbd journaling feature

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Dec 5, 2018 at 5:17 AM Ilya Dryomov <idryomov@xxxxxxxxx> wrote:
>
> 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...

I'd vote for daemonizing "rbd map" (or a similar small, purpose-built
tool). The local "rbd-mirror" daemon process doesn't currently open a
watch on local primary images and in the case of one-way mirroring,
you would potentially not even have an "rbd-mirror" daemon running
locally.

> Thanks,
>
>                 Ilya



-- 
Jason



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux