Re: [PATCH] sheepdog: reject snapshot as a LUN to avoid deleting working VDI
FUJITA Tomonori <[email protected]> Thu, 13 Oct 2016 18:15:13 +0900 (JST)
| Newsgroups | org.kernel.vger.stgt |
|---|---|
| Message-ID | <20161013.181513.1568838937885757326.fujita.tomonori@lab.ntt.co.jp> |
On Thu, 13 Oct 2016 17:49:04 +0900 Takashi Menjo <[email protected]> wrote: > This commit lets the sheepdog driver reject forms of filename below. > This is to avoid unintended deletion of working VDI when a snapshot is > given as a LUN. > > * unix:<path_of_unix_domain_socket>:<vdi>:<tag> > * unix:<path_of_unix_domain_socket>:<vdi>:<snapid> > * tcp:<host>:<port>:<vdi>:<tag> > * tcp:<host>:<port>:<vdi>:<snapid> > > In the case that a snapshot is given as a LUN by any of them above, the > sheepdog driver attempts to delete it then create a new writable VDI when > some data is being written to it. The deletion request contains name and > VDI ID of the snapshot. However, sheep daemon uses its name but ignores > VDI ID and, what is worse, the request contains neither snapshot ID nor > tag. So sheep daemon receiving the request interprets it as deletion of > working VDI, not snapshot. If there is working VDI with the same name, > it will be deleted unintentionally. > > I decided not to fix the sheepdog driver to send snapshot ID or tag but > to let it reject snapshot as a LUN because, even if I fix it, creating > a new writable VDI will be failed when working VDI exists. If you want > workaround, use "dog vdi clone" command to create a new writable VDI from > snapshot then give the new VDI as a LUN. > > Cc: Teruaki Ishizaki <[email protected]> > Cc: Hitoshi Mitake <[email protected]> > Signed-off-by: Takashi Menjo <[email protected]> > Signed-off-by: FUJITA Tomonori <[email protected]> Hmm, why my Signed-off-by is here? Anyway, I'll wait for an ACK from one of the guys listed above.