On 4/22/21 11:43 AM, Kevin Wolf wrote: > Normally, blk_new_open() just shares all permissions. This was fine > originally when permissions only protected against uses in the same > process because no other part of the code would actually get to access > the block nodes opened with blk_new_open(). However, since we use it for > file locking now, unsharing permissions becomes desirable. > > Add a new BDRV_O_NO_SHARE flag that is used in blk_new_open() to unshare > any permissions that can be unshared. > > Signed-off-by: Kevin Wolf <kw...@redhat.com> > --- > include/block/block.h | 1 + > block/block-backend.c | 19 +++++++++++++------ > 2 files changed, 14 insertions(+), 6 deletions(-)
> > diff --git a/include/block/block.h b/include/block/block.h > index b3f6e509d4..735db05a39 100644 > --- a/include/block/block.h > +++ b/include/block/block.h > @@ -101,6 +101,7 @@ typedef struct HDGeometry { > uint32_t cylinders; > } HDGeometry; > > +#define BDRV_O_NO_SHARE 0x0001 /* don't share permissons */ permissions With the typo fix, Reviewed-by: Eric Blake <ebl...@redhat.com> -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3226 Virtualization: qemu.org | libvirt.org