[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [PATCH v15 20/21] file-posix: Add image locking to perm
From: |
Kevin Wolf |
Subject: |
Re: [Qemu-block] [PATCH v15 20/21] file-posix: Add image locking to perm operations |
Date: |
Fri, 28 Apr 2017 15:45:43 +0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
Am 26.04.2017 um 05:34 hat Fam Zheng geschrieben:
> This extends the permission bits of op blocker API to external using
> Linux OFD locks.
>
> Each permission in @perm and @shared_perm is represented by a locked
> byte in the image file. Requesting a permission in @perm is translated
> to a shared lock of the corresponding byte; rejecting to share the same
> permission is translated to a shared lock of a separate byte. With that,
> we use 2x number of bytes of distinct permission types.
>
> virtlockd in libvirt locks the first byte, so we do locking from a
> higher offset.
>
> Suggested-by: Kevin Wolf <address@hidden>
> Signed-off-by: Fam Zheng <address@hidden>
> BlockDriver bdrv_file = {
> .format_name = "file",
> .protocol_name = "file",
> @@ -1977,7 +2234,11 @@ BlockDriver bdrv_file = {
> .bdrv_get_info = raw_get_info,
> .bdrv_get_allocated_file_size
> = raw_get_allocated_file_size,
> -
> + .bdrv_inactivate = raw_inactivate,
> + .bdrv_invalidate_cache = raw_invalidate_cache,
> + .bdrv_check_perm = raw_check_perm,
> + .bdrv_set_perm = raw_set_perm,
> + .bdrv_abort_perm_update = raw_abort_perm_update,
> .create_opts = &raw_create_opts,
> };
By the way, is it intentional that we apply locking only to bdrv_file,
but not to bdrv_host_device or bdrv_host_cdrom?
Kevin
- Re: [Qemu-block] [Qemu-devel] [PATCH v15 18/21] block: Reuse bs as backing hd for drive-backup sync=none, (continued)
[Qemu-block] [PATCH v15 20/21] file-posix: Add image locking to perm operations, Fam Zheng, 2017/04/25
[Qemu-block] [PATCH v15 21/21] qemu-iotests: Add test case 153 for image locking, Fam Zheng, 2017/04/25