mirror of https://github.com/xemu-project/xemu.git
nbd patches for 2020-05-04
- reduce client-side fragmentation of NBD trim and status requests - fix iotest 41 when run in deep tree - fix socket activation in qemu-nbd -----BEGIN PGP SIGNATURE----- iQEzBAABCAAdFiEEccLMIrHEYCkn0vOqp6FrSiUnQ2oFAl6whTUACgkQp6FrSiUn Q2r4nAf7BtGSFMkUu6nWYeq+Ggg+Xwmz2FLAzWTK/rccGDC44c9ETzOIbWEddo6X FHpU07VXdLW1h2M7ox8lQVo0DZEFxTRBYTPtUtjB7izfkAs4CkYeElJsZAPAZKgU GsKqa3RM6uXubsQaXXXjMFCGlYgqi1dVkmkgtPebt7evSe0ATlTfYfd0y9gb5f9C cbHD3CVcGKQe4ZtNcSBpTzOvXJSrBZznyCyhBO2qmVXTynt/5Ygog+Ulq3DHZsPX UkRkTPohKA0BhXuS7wD49danlzCLiTlvswr62fAncM1+AJTbmIa+apy3SwiOkwMh Aawq5vDtaFV+HEBKbMC0QRhgtoEe1w== =ExlI -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/ericb/tags/pull-nbd-2020-05-04' into staging nbd patches for 2020-05-04 - reduce client-side fragmentation of NBD trim and status requests - fix iotest 41 when run in deep tree - fix socket activation in qemu-nbd # gpg: Signature made Mon 04 May 2020 22:12:21 BST # gpg: using RSA key 71C2CC22B1C4602927D2F3AAA7A16B4A2527436A # gpg: Good signature from "Eric Blake <eblake@redhat.com>" [full] # gpg: aka "Eric Blake (Free Software Programmer) <ebb9@byu.net>" [full] # gpg: aka "[jpeg image of size 6874]" [full] # Primary key fingerprint: 71C2 CC22 B1C4 6029 27D2 F3AA A7A1 6B4A 2527 436A * remotes/ericb/tags/pull-nbd-2020-05-04: block/nbd-client: drop max_block restriction from discard block/nbd-client: drop max_block restriction from block_status iotests/041: Fix NBD socket path tools: Fix use of fcntl(F_SETFD) during socket activation Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
f19d118bed
|
@ -1320,9 +1320,7 @@ static int coroutine_fn nbd_client_co_block_status(
|
|||
NBDRequest request = {
|
||||
.type = NBD_CMD_BLOCK_STATUS,
|
||||
.from = offset,
|
||||
.len = MIN(MIN_NON_ZERO(QEMU_ALIGN_DOWN(INT_MAX,
|
||||
bs->bl.request_alignment),
|
||||
s->info.max_block),
|
||||
.len = MIN(QEMU_ALIGN_DOWN(INT_MAX, bs->bl.request_alignment),
|
||||
MIN(bytes, s->info.size - offset)),
|
||||
.flags = NBD_CMD_FLAG_REQ_ONE,
|
||||
};
|
||||
|
@ -1957,7 +1955,7 @@ static void nbd_refresh_limits(BlockDriverState *bs, Error **errp)
|
|||
}
|
||||
|
||||
bs->bl.request_alignment = min;
|
||||
bs->bl.max_pdiscard = max;
|
||||
bs->bl.max_pdiscard = QEMU_ALIGN_DOWN(INT_MAX, min);
|
||||
bs->bl.max_pwrite_zeroes = max;
|
||||
bs->bl.max_transfer = max;
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@ quorum_img3 = os.path.join(iotests.test_dir, 'quorum3.img')
|
|||
quorum_repair_img = os.path.join(iotests.test_dir, 'quorum_repair.img')
|
||||
quorum_snapshot_file = os.path.join(iotests.test_dir, 'quorum_snapshot.img')
|
||||
|
||||
nbd_sock_path = os.path.join(iotests.test_dir, 'nbd.sock')
|
||||
nbd_sock_path = os.path.join(iotests.sock_dir, 'nbd.sock')
|
||||
|
||||
class TestSingleDrive(iotests.QMPTestCase):
|
||||
image_len = 1 * 1024 * 1024 # MB
|
||||
|
|
|
@ -23,6 +23,7 @@ unsigned int check_socket_activation(void)
|
|||
unsigned long nr_fds;
|
||||
unsigned int i;
|
||||
int fd;
|
||||
int f;
|
||||
int err;
|
||||
|
||||
s = getenv("LISTEN_PID");
|
||||
|
@ -54,7 +55,8 @@ unsigned int check_socket_activation(void)
|
|||
/* So the file descriptors don't leak into child processes. */
|
||||
for (i = 0; i < nr_fds; ++i) {
|
||||
fd = FIRST_SOCKET_ACTIVATION_FD + i;
|
||||
if (fcntl(fd, F_SETFD, FD_CLOEXEC) == -1) {
|
||||
f = fcntl(fd, F_GETFD);
|
||||
if (f == -1 || fcntl(fd, F_SETFD, f | FD_CLOEXEC) == -1) {
|
||||
/* If we cannot set FD_CLOEXEC then it probably means the file
|
||||
* descriptor is invalid, so socket activation has gone wrong
|
||||
* and we should exit.
|
||||
|
|
Loading…
Reference in New Issue