From 8317e8d4689f486f7dd2ee7cbf79cbee4c66cb9e Mon Sep 17 00:00:00 2001 From: yoe Date: Mon, 17 Mar 2008 10:20:01 +0000 Subject: [PATCH] r326: Don't require read-write access to base file when doing copy on write --- nbd-server.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/nbd-server.c b/nbd-server.c index 1606d5d..315d44e 100644 --- a/nbd-server.c +++ b/nbd-server.c @@ -1220,8 +1220,12 @@ void setupexport(CLIENT* client) { /* Try again because maybe media was read-only */ fi.fhandle = open(tmpname, O_RDONLY); if(fi.fhandle != -1) { - client->server->flags |= F_AUTOREADONLY; - client->server->flags |= F_READONLY; + /* Opening the base file in copyonwrite mode is + * okay */ + if(!(client->server->flags & F_COPYONWRITE)) { + client->server->flags |= F_AUTOREADONLY; + client->server->flags |= F_READONLY; + } } } if(fi.fhandle == -1) { -- 1.7.10.4