Re: [PATCH v2] sheepdog: reject snapshot as a LUN to avoid deleting working VDI
FUJITA Tomonori <[email protected]> Sat, 15 Oct 2016 21:14:21 +0900 (JST)
| Newsgroups | org.kernel.vger.stgt |
|---|---|
| Message-ID | <20161015.211421.1568838937885763116.fujita.tomonori@lab.ntt.co.jp> |
On Fri, 14 Oct 2016 14:20:48 +0900 Hitoshi Mitake <[email protected]> wrote: > On Thu, Oct 13, 2016 at 9:02 PM, 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]> >> --- >> usr/bs_sheepdog.c | 112 +----------------------------------------------------- >> 1 file changed, 2 insertions(+), 110 deletions(-) > > Acked-by: Hitoshi Mitake <[email protected]> Applied, thanks guys.