From: Thomas Lamprecht <t.lamprecht@proxmox.com>
To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>,
vitalif@yourcmc.ru
Subject: Re: [pve-devel] Vitastor block driver plugin
Date: Wed, 27 Aug 2025 11:13:23 +0200 [thread overview]
Message-ID: <1ff9fa45-752d-4935-a8b7-993096413749@proxmox.com> (raw)
In-Reply-To: <45854bb6f7e2a5059e5b5472f85c64cc@yourcmc.ru>
Hello,
On 26/08/2025 16:42, vitalif@yourcmc.ru wrote:
> You've added a block device driver whitelist in Proxmox 9.0.
It's more intended for specific driver options, but as it die's if a
QEMU block device driver is not in the list it indeed also acts as
allow list for those.
> Could you please add Vitastor there?
>
> I mean this place: https://git.proxmox.com/?p=pve-storage.git;a=blob;f=src/PVE/Storage.pm;h=1dde2b751a766a28af8d40df7149936691cca772;hb=HEAD#l145
>
> $allowed_qemu_blockdev_options in PVE/Storage.pm.
>
> For Vitastor to work correctly, it needs to contain:
>
> vitastor => { image => 1, 'config-path' => 1, 'etcd-host' => 1, 'etcd-prefix' => 1 }
Hmm, we could add that, but would prefer only doing so if the plugin
is directly in QEMU already. That said, this is rather internal, so
maintenance cost would be low, so could be still fine...
I would like some other opinion on it though (CC @Fiona).
> Vitastor is a high-performance alternative to Ceph with a similar architecture (written totally from scratch) if you never heard of it. :-) I'm the author.
>
> Current installation instructions are here:
>
> https://vitastor.io/en/docs/installation/packages.html
>
> https://vitastor.io/en/docs/installation/proxmox.html
>
> It'd be also cool if you could upstream my block driver plugin, currently I'm releasing it as a QEMU patch + block/vitastor.c. It's not a problem for me to continue doing that just as before, but I'd of course appreciate if you added it to your QEMU packages. :-)
To avoid any false expectations upfront: As of now we won't take your
patches into our downstream build of QEMU.
For us the main reason for why we never evaluated Vitastore more closely
(yes, we heard of it) is that it seems there is a bus factor of 1, as
basically all contributions seen to be "just" from you, and while that
may even have some benefits w.r.t. a consistent and clean design it also
means that if anything should happen (let's really hope not!) that won't
allow (or want) you to continue working on Vitastore from one day to
another, we would need to provide quite a bit of developer power to be
able to understand the whole code base and maintain it further once we
adopted this. As while we're prepared for some bug fix (investigations)
and what not, like we are for every project we integrate, it's still a
big difference w.r.t. risk management when there are not at least 3
somewhat active devs upstream, at least for projects at this scale.
And while yes, reducing the complexity of Ceph while getting the same
(or even more) performance is certainly a great goal (kudos for working
on that and getting this far!), but for us Ceph is still manageable for
now and it's wide adoption is a major benefit that makes much of it's
pain tolerable. A smaller reason is C++, while I certainly do not want
to blame C++ for all problems of Ceph, IMO lots of pain and complexity
stems from that in Ceph, and while I cannot make any judgement for
Vitastore, as I did not check out the source in any relevant manner,
I'm worried that C++ needs a lot of attention and tooling to avoid such
growth of complexity and making maintenance harder, especially once more
developers are working on a project. While we got some expertise, most
of our Devs have no deep C++ experience besides for some drive-by fix
of a specific bug.
But that all said, why not upstream to QEMU directly? IMO that would
help much more people, improve willingness for adoption for users and
reduce overall maintenance cost for you and naturally also for us, if we
would (hypothetically) take this in. AFAICT it would not be _that_ much
change for QEMU.
Anyhow, I wish you the best of luck and I hope Vitastore can overcome
the initial "chicken and egg" inertia that such projects face. Maybe
some of our devs (or experienced users) get to do a closer evaluation
of your project in the context of Proxmox VE on a calmer day.
best regards
Thomas
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
next prev parent reply other threads:[~2025-08-27 9:13 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-26 14:33 vitalif
2025-08-27 9:13 ` Thomas Lamprecht [this message]
2025-09-01 9:42 ` Fiona Ebner
2025-08-27 22:58 ` vitalif
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=1ff9fa45-752d-4935-a8b7-993096413749@proxmox.com \
--to=t.lamprecht@proxmox.com \
--cc=pve-devel@lists.proxmox.com \
--cc=vitalif@yourcmc.ru \
/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