<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from text --><style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<div style="font-family:Calibri,Helvetica!important; font-size:17.0px; color:#333333">
<span style="color:#000000;font-size:14px;">sry</span><span style="color:#000000;font-size:14px;">
</span><span style="color:#000000;font-size:14px;">the </span><span style="color:#000000;font-size:14px;">workload</span><span style="color:#000000;font-size:14px;"> A and B here were mistake</span><span style="color:#000000;font-size:14px;">ly
</span><span style="color:#000000;font-size:14px;">swapped...</span><br>
<br>
<br>
<br>
</div>
<div name="AnyOffice-Background-Image" style="border-top:1px solid #B5C4DF;padding:8px; background-repeat: repeat-x;">
<div style="word-break:break-all;"><b>发件人:</b>Yifan Zhao <<a href="mailto:zhaoyifan28@huawei.com">zhaoyifan28@huawei.com</a>></div>
<div style="word-break:break-all;"><b>收件人:</b>linux-erofs@lists.ozlabs.org <<a href="mailto:linux-erofs@lists.ozlabs.org">linux-erofs@lists.ozlabs.org</a>></div>
<div style="word-break:break-all;"><b>抄 送:</b>Lihongbo(hb-lee,OS Lab) <<a href="mailto:lihongbo22@huawei.com">lihongbo22@huawei.com</a>>; jingrui <<a href="mailto:jingrui@huawei.com">jingrui@huawei.com</a>>; Mawen (Wayne) <<a href="mailto:wayne.ma@huawei.com">wayne.ma@huawei.com</a>></div>
<div style="word-break:break-all;"><b>主 题:</b>[PATCH 0/3] erofs-utils: mkfs: s3: switch to libcurl multiplexing api</div>
<div style="word-break:break-all;"><b>时 间:</b>2025-09-18 23:13:34</div>
<div><br>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">From: zhaoyifan <zhaoyifan28@huawei.com><br>
<br>
This patchset use curl_multi* API in s3erofs to improve performance while<br>
interacting with a large number of files.<br>
<br>
E2E mkfs.erofs image building time comparison:<br>
- Workload A: Building from 3000 empty files<br>
- Workload B: Building from 3000 files with size in 2~5 Bytes<br>
<br>
+------------+------------+------------+<br>
| | Baseline | Optimized |<br>
+------------+------------+------------+<br>
| Workload A | 72.24s | 5.08s |<br>
+------------+------------+------------+<br>
| Workload B | 34.31s | 0.61s |<br>
+------------+------------+------------+<br>
<br>
zhaoyifan (3):<br>
erofs-utils: add mount/mount.erofs to .gitignore<br>
erofs-utils: lib: avoid using lseek in diskbuf<br>
erofs-utils: mkfs: use libcurl multiplexing api to optimize S3<br>
interaction<br>
<br>
.gitignore | 1 +<br>
lib/diskbuf.c | 7 +-<br>
lib/remotes/s3.c | 400 +++++++++++++++++++++++++++++++++--------------<br>
lib/tar.c | 2 +-<br>
4 files changed, 284 insertions(+), 126 deletions(-)<br>
<br>
-- <br>
2.46.0<br>
<br>
<br>
<br>
</div>
</span></font></div>
</body>
</html>