From: Fam Zheng <famz@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Daniel P. Berrange" <berrange@redhat.com>,
qemu-block@nongnu.org, eblake@redhat.com,
Kevin Wolf <kwolf@redhat.com>,
rjones@redhat.com, Max Reitz <mreitz@redhat.com>
Subject: [Qemu-devel] [PATCH v12 00/16] block: Image locking series
Date: Mon, 23 Jan 2017 20:30:40 +0800 [thread overview]
Message-ID: <20170123123056.30383-1-famz@redhat.com> (raw)
v12: Fix test cases on old systems that doesn't have F_OFD_SETLK, such as RHEL
6. [Patchew]
Trim the commit message of patch 15 to avoid bitrotting.
v11: Move lock bytes from 1-2 to 0x10-0x12. [Daniel]
v10: While we still don't have comprehensive propagation mechanism that will be
provided by new op blocker system for "permissive modes", the locking enabled
by default is regardlessly useful and long overdue. So I think we should merge
this for 2.9 and build user options on top later when the op blocker API
settles.
Address comments from Max and Eric:
- Use F_OFD_GETLK instead of opening r/w for ro images. [Max]
- Lock both bytes exclusively for non-shared write. [Max]
- Spell fixes. [Eric]
- Fix test matrix. [Max]
- Comment tweaks. [Max]
- Return code cleanups. [Max]
- Don't abuse "disable_lock" for migration. [Max]
- Use bs->exact_filename instead of bs->filename. [Max]
- Force protect qcow2 concurrent write.
- Fix indentation. [Max]
- Always use re-open for lockfd instead of dup. [Max]
- Fall through to "abort" where "prepare" failed. [Max]
- Fix option handling in raw_reopen_handle_lock. [Max]
- Use "error_abort" in commit and abort. [Max]
- Fix cleanup of raw_reopen_handle_lock() failure. [Max]
- Add a patch for qcow2 to mask BDRV_O_SHARE_RW if r/w.
- Rebase and fix new more cases that will be broken by "lock by default".
Fam Zheng (16):
osdep: Add qemu_lock_fd and qemu_unlock_fd
block: Define BDRV_O_SHARE_RW
qemu-io: Set "share-rw" flag together with read-only
qemu-img: Set "share-rw" flag in read-only commands
block: Set "share-rw" flag in drive-backup when sync=none
iotests: 055: Don't attach the drive to vm for drive-backup
iotests: 030: Read-only open image for getting map
iotests: 087: Don't attach test image twice
iotests: 085: Avoid image locking conflict
iotests: 091: Quit QEMU before checking image
iotests: 172: Use separate images for multiple devices
tests: Use null-co:// instead of /dev/null as the dummy image
tests: Disable image lock in test-replication
file-posix: Implement image locking
qcow2: Force "no other writer" lock on bs->file
tests: Add test-image-lock
block/file-posix.c | 681 ++++++++++++++++++++++++++++++++++++++++++++-
block/qcow2.c | 11 +
blockdev.c | 3 +
include/block/block.h | 2 +
include/qemu/osdep.h | 3 +
qemu-img.c | 10 +-
qemu-io.c | 2 +
tests/Makefile.include | 2 +
tests/drive_del-test.c | 2 +-
tests/nvme-test.c | 2 +-
tests/qemu-iotests/030 | 4 +-
tests/qemu-iotests/055 | 32 ++-
tests/qemu-iotests/085 | 32 ++-
tests/qemu-iotests/085.out | 3 +-
tests/qemu-iotests/087 | 6 +-
tests/qemu-iotests/091 | 2 +
tests/qemu-iotests/172 | 53 ++--
tests/qemu-iotests/172.out | 50 ++--
tests/test-image-lock.c | 206 ++++++++++++++
tests/test-replication.c | 9 +-
tests/usb-hcd-uhci-test.c | 2 +-
tests/usb-hcd-xhci-test.c | 2 +-
tests/virtio-blk-test.c | 2 +-
tests/virtio-scsi-test.c | 4 +-
util/osdep.c | 48 ++++
25 files changed, 1076 insertions(+), 97 deletions(-)
create mode 100644 tests/test-image-lock.c
--
2.9.3
next reply other threads:[~2017-01-23 12:31 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-23 12:30 Fam Zheng [this message]
2017-01-23 12:30 ` [Qemu-devel] [PATCH v12 01/16] osdep: Add qemu_lock_fd and qemu_unlock_fd Fam Zheng
2017-02-05 21:38 ` Max Reitz
2017-01-23 12:30 ` [Qemu-devel] [PATCH v12 02/16] block: Define BDRV_O_SHARE_RW Fam Zheng
2017-02-05 21:51 ` Max Reitz
2017-01-23 12:30 ` [Qemu-devel] [PATCH v12 03/16] qemu-io: Set "share-rw" flag together with read-only Fam Zheng
2017-02-05 21:52 ` Max Reitz
2017-02-06 4:52 ` Fam Zheng
2017-01-23 12:30 ` [Qemu-devel] [PATCH v12 04/16] qemu-img: Set "share-rw" flag in read-only commands Fam Zheng
2017-02-05 21:55 ` Max Reitz
2017-01-23 12:30 ` [Qemu-devel] [PATCH v12 05/16] block: Set "share-rw" flag in drive-backup when sync=none Fam Zheng
2017-02-05 21:57 ` Max Reitz
2017-01-23 12:30 ` [Qemu-devel] [PATCH v12 06/16] iotests: 055: Don't attach the drive to vm for drive-backup Fam Zheng
2017-02-08 0:06 ` Max Reitz
2017-01-23 12:30 ` [Qemu-devel] [PATCH v12 07/16] iotests: 030: Read-only open image for getting map Fam Zheng
2017-02-08 0:11 ` Max Reitz
2017-01-23 12:30 ` [Qemu-devel] [PATCH v12 08/16] iotests: 087: Don't attach test image twice Fam Zheng
2017-02-08 0:14 ` Max Reitz
2017-01-23 12:30 ` [Qemu-devel] [PATCH v12 09/16] iotests: 085: Avoid image locking conflict Fam Zheng
2017-02-08 0:25 ` Max Reitz
2017-01-23 12:30 ` [Qemu-devel] [PATCH v12 10/16] iotests: 091: Quit QEMU before checking image Fam Zheng
2017-02-08 0:32 ` Max Reitz
2017-01-23 12:30 ` [Qemu-devel] [PATCH v12 11/16] iotests: 172: Use separate images for multiple devices Fam Zheng
2017-02-08 0:43 ` Max Reitz
2017-01-23 12:30 ` [Qemu-devel] [PATCH v12 12/16] tests: Use null-co:// instead of /dev/null as the dummy image Fam Zheng
2017-02-08 0:45 ` Max Reitz
2017-01-23 12:30 ` [Qemu-devel] [PATCH v12 13/16] tests: Disable image lock in test-replication Fam Zheng
2017-02-08 0:56 ` Max Reitz
2017-01-23 12:30 ` [Qemu-devel] [PATCH v12 14/16] file-posix: Implement image locking Fam Zheng
2017-02-08 3:05 ` Max Reitz
2017-02-08 6:00 ` Fam Zheng
2017-02-08 13:18 ` Max Reitz
2017-02-08 13:40 ` Fam Zheng
2017-01-23 12:30 ` [Qemu-devel] [PATCH v12 15/16] qcow2: Force "no other writer" lock on bs->file Fam Zheng
2017-02-08 14:33 ` Max Reitz
2017-02-08 15:00 ` Fam Zheng
2017-01-23 12:30 ` [Qemu-devel] [PATCH v12 16/16] tests: Add test-image-lock Fam Zheng
2017-02-08 14:52 ` Max Reitz
2017-02-05 21:58 ` [Qemu-devel] [PATCH v12 00/16] block: Image locking series Max Reitz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170123123056.30383-1-famz@redhat.com \
--to=famz@redhat.com \
--cc=berrange@redhat.com \
--cc=eblake@redhat.com \
--cc=kwolf@redhat.com \
--cc=mreitz@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=rjones@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).