All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/3] block/curl: fix S3 presigned URL support
@ 2026-02-24 15:51 Antoine Damhet
  2026-02-24 15:51 ` [PATCH v2 1/3] block/curl: fix concurrent completion handling Antoine Damhet
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Antoine Damhet @ 2026-02-24 15:51 UTC (permalink / raw)
  To: qemu-devel; +Cc: Antoine Damhet, qemu-block, Kevin Wolf, Hanna Reitz

Hi,

This series adds the support for S3 presigned URLs that only allow HTTP
GET requests. While working on this I also stumbled upon a deadlock with
concurrent I/O and slipped the fix here. Over the years there was
already an attempt to support these kinds of URLs[1] and at least one
report of a user in need of the feature[2].

Unfortunately S3 only allows a presigned URL to live up to 7 days so we
can't really put an example with a stable URL on the commit message but
here is a presigned URL for the archlinux cloud image[3] that will
expire in ~7 days.

Cheers,
Antoine

[1]: https://lore.kernel.org/qemu-devel/110120539.4133.de5ac8a5-69d1-4f59-9540-4a679771a547.open-xchange@ox.pcextreme.nl/
[2]: https://lore.kernel.org/qemu-devel/7b37cc65-1314-29f4-006f-70836bdfb4b4@linaro.org/
[3]: http://test-presigned.s3.fr-par.scw.cloud/Arch-Linux-x86_64-cloudimg.qcow2?AWSAccessKeyId=SCWDHE3XBQGZFV282QKG&Expires=1772551595&Signature=fqADX1DJvEKcC8iEeoZpssYSkTI%3D

---
Changes in v2:
- New patch (2) that refactors the http(s) QAPI types
- Specify and reword what happens when using 'force-range' with an HTTP
  server that doesn't support the feature
- Document that 'force-range' defaults to false in QAPI
- Fix a few typos
- Regen presigned URL[3]
- Link to v1: https://lore.kernel.org/qemu-devel/20260212162730.440855-1-adamhet@scaleway.com

---

Antoine Damhet (3):
  block/curl: fix concurrent completion handling
  qapi: block: Refactor HTTP(s) common arguments
  block/curl: add support for S3 presigned URLs

 block/curl.c                          | 115 ++++++++++++++++----------
 block/trace-events                    |   1 +
 docs/system/device-url-syntax.rst.inc |   6 ++
 qapi/block-core.json                  |  22 +++--
 4 files changed, 90 insertions(+), 54 deletions(-)

-- 
2.53.0



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-02-25 13:21 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-24 15:51 [PATCH v2 0/3] block/curl: fix S3 presigned URL support Antoine Damhet
2026-02-24 15:51 ` [PATCH v2 1/3] block/curl: fix concurrent completion handling Antoine Damhet
2026-02-24 15:51 ` [PATCH v2 2/3] qapi: block: Refactor HTTP(s) common arguments Antoine Damhet
2026-02-25 12:12   ` Markus Armbruster
2026-02-24 15:51 ` [PATCH v2 3/3] block/curl: add support for S3 presigned URLs Antoine Damhet
2026-02-25 13:20   ` Markus Armbruster

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.