* [RFC proxmox{-backup-restore-image,-backup} 0/5] fix #7544: provide fallback to ntfs-3g for file-restore VM
@ 2026-05-14 15:25 Christian Ebner
2026-05-14 15:25 ` [PATCH proxmox-backup-restore-image 1/5] update ZFS to 2.4.2 Christian Ebner
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: Christian Ebner @ 2026-05-14 15:25 UTC (permalink / raw)
To: pbs-devel
Some Windows NTFS partitions fail to mount with the current in-kernel
(ntfs, ntfs3) filesystem implementations. The same filesystems can
however be mounted just fine using the user space ntfs-3g
implementation.
These patches draft an approach to provide ntfs-3g as last resort if
all in-kernel filesystems fail to mount.
This comes at the drawback of additional dependencies, especially
requiring the FUSE module to be build into the kernel and some
additional userspace packages.
proxmox-backup-restore-image:
Christian Ebner (4):
update ZFS to 2.4.2
update kernel to Ubuntu-7.0.0-17.17
config: enable FUSE support to allow using ntfs-3g
initramfs: add ntfs-3g as build dependency
src/build_initramfs.sh | 2 ++
src/config-base | 1 +
.../0001-remove-reference-to-libudev.patch | 20 ++++++++++++-------
src/submodules/ubuntu-kernel | 2 +-
src/submodules/zfsonlinux | 2 +-
5 files changed, 18 insertions(+), 9 deletions(-)
proxmox-backup:
Christian Ebner (1):
fix #7533: restore-daemon: last resort fallback to mount via ntfs-3g
.../src/proxmox_restore_daemon/disk.rs | 9 +++++++++
1 file changed, 9 insertions(+)
Summary over all repositories:
6 files changed, 27 insertions(+), 9 deletions(-)
--
Generated by murpp 0.11.0
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH proxmox-backup-restore-image 1/5] update ZFS to 2.4.2
2026-05-14 15:25 [RFC proxmox{-backup-restore-image,-backup} 0/5] fix #7544: provide fallback to ntfs-3g for file-restore VM Christian Ebner
@ 2026-05-14 15:25 ` Christian Ebner
2026-05-14 15:25 ` [PATCH proxmox-backup-restore-image 2/5] update kernel to Ubuntu-7.0.0-17.17 Christian Ebner
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Christian Ebner @ 2026-05-14 15:25 UTC (permalink / raw)
To: pbs-devel
This upstream version is compatible with Linux kernels 7.0.
Bump submodule commit and adapt patch to drop libudev reference so it
applies again.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
---
.../0001-remove-reference-to-libudev.patch | 20 ++++++++++++-------
src/submodules/zfsonlinux | 2 +-
2 files changed, 14 insertions(+), 8 deletions(-)
diff --git a/src/patches/zfs/0001-remove-reference-to-libudev.patch b/src/patches/zfs/0001-remove-reference-to-libudev.patch
index 8fe9b31..bf0e3f5 100644
--- a/src/patches/zfs/0001-remove-reference-to-libudev.patch
+++ b/src/patches/zfs/0001-remove-reference-to-libudev.patch
@@ -8,18 +8,21 @@ since there's no command line flag I can see...
Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
[ SI adapt to aebd94cc8541e0ec3b1de57edbd57c4280213089 ]
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
+[ CE adapt to 6330a45b06d20125de679aae5f63ba14082671ef ]
+Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
---
- config/user-libudev.m4 | 17 -----------------
+ config/user-libudev.m4 | 18 ------------------
config/user.m4 | 1 -
- 2 files changed, 18 deletions(-)
+ 2 files changed, 19 deletions(-)
delete mode 100644 config/user-libudev.m4
diff --git a/config/user-libudev.m4 b/config/user-libudev.m4
deleted file mode 100644
-index 8c3c1d7e0..000000000
+index 784cf4651..000000000
--- a/config/user-libudev.m4
+++ /dev/null
-@@ -1,17 +0,0 @@
+@@ -1,18 +0,0 @@
+-dnl # SPDX-License-Identifier: CDDL-1.0
-dnl #
-dnl # Check for libudev - needed for vdev auto-online and auto-replace
-dnl #
@@ -38,14 +41,17 @@ index 8c3c1d7e0..000000000
- ])
-])
diff --git a/config/user.m4 b/config/user.m4
-index 6ec27a5b2..46244f19b 100644
+index 1ecd4ddde..ab7f39a5a 100644
--- a/config/user.m4
+++ b/config/user.m4
-@@ -14,7 +14,6 @@ AC_DEFUN([ZFS_AC_CONFIG_USER], [
+@@ -15,7 +15,6 @@ AC_DEFUN([ZFS_AC_CONFIG_USER], [
AM_COND_IF([BUILD_LINUX], [
ZFS_AC_CONFIG_USER_UDEV
ZFS_AC_CONFIG_USER_SYSTEMD
- ZFS_AC_CONFIG_USER_LIBUDEV
ZFS_AC_CONFIG_USER_LIBUUID
ZFS_AC_CONFIG_USER_LIBBLKID
- ])
+ ZFS_AC_CONFIG_USER_STATX
+--
+2.47.3
+
diff --git a/src/submodules/zfsonlinux b/src/submodules/zfsonlinux
index 1af41fd..6330a45 160000
--- a/src/submodules/zfsonlinux
+++ b/src/submodules/zfsonlinux
@@ -1 +1 @@
-Subproject commit 1af41fd203639818aa28cc624f144ef604a166d8
+Subproject commit 6330a45b06d20125de679aae5f63ba14082671ef
--
2.47.3
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH proxmox-backup-restore-image 2/5] update kernel to Ubuntu-7.0.0-17.17
2026-05-14 15:25 [RFC proxmox{-backup-restore-image,-backup} 0/5] fix #7544: provide fallback to ntfs-3g for file-restore VM Christian Ebner
2026-05-14 15:25 ` [PATCH proxmox-backup-restore-image 1/5] update ZFS to 2.4.2 Christian Ebner
@ 2026-05-14 15:25 ` Christian Ebner
2026-05-14 15:25 ` [PATCH proxmox-backup-restore-image 3/5] config: enable FUSE support to allow using ntfs-3g Christian Ebner
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Christian Ebner @ 2026-05-14 15:25 UTC (permalink / raw)
To: pbs-devel
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
---
src/submodules/ubuntu-kernel | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/submodules/ubuntu-kernel b/src/submodules/ubuntu-kernel
index b423347..4081a41 160000
--- a/src/submodules/ubuntu-kernel
+++ b/src/submodules/ubuntu-kernel
@@ -1 +1 @@
-Subproject commit b423347fe0063a7ef60f6f313810d9f1a551f31b
+Subproject commit 4081a41e751a25370006d1a3bd7d07cc85a91440
--
2.47.3
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH proxmox-backup-restore-image 3/5] config: enable FUSE support to allow using ntfs-3g
2026-05-14 15:25 [RFC proxmox{-backup-restore-image,-backup} 0/5] fix #7544: provide fallback to ntfs-3g for file-restore VM Christian Ebner
2026-05-14 15:25 ` [PATCH proxmox-backup-restore-image 1/5] update ZFS to 2.4.2 Christian Ebner
2026-05-14 15:25 ` [PATCH proxmox-backup-restore-image 2/5] update kernel to Ubuntu-7.0.0-17.17 Christian Ebner
@ 2026-05-14 15:25 ` Christian Ebner
2026-05-14 15:25 ` [PATCH proxmox-backup-restore-image 4/5] initramfs: add ntfs-3g as build dependency Christian Ebner
2026-05-14 15:25 ` [PATCH proxmox-backup 5/5] fix #7533: restore-daemon: last resort fallback to mount via ntfs-3g Christian Ebner
4 siblings, 0 replies; 6+ messages in thread
From: Christian Ebner @ 2026-05-14 15:25 UTC (permalink / raw)
To: pbs-devel
ntfs-3g build on top of fuse3 for the NTFS filesystem driver, enable
the kernel module for FUSE support.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
---
src/config-base | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/config-base b/src/config-base
index fcebf07..eb0355e 100644
--- a/src/config-base
+++ b/src/config-base
@@ -153,6 +153,7 @@ CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_EXFAT_FS=y
CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
+CONFIG_FUSE_FS=y
# memory hotplug
CONFIG_MEMORY_HOTPLUG=y
--
2.47.3
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH proxmox-backup-restore-image 4/5] initramfs: add ntfs-3g as build dependency
2026-05-14 15:25 [RFC proxmox{-backup-restore-image,-backup} 0/5] fix #7544: provide fallback to ntfs-3g for file-restore VM Christian Ebner
` (2 preceding siblings ...)
2026-05-14 15:25 ` [PATCH proxmox-backup-restore-image 3/5] config: enable FUSE support to allow using ntfs-3g Christian Ebner
@ 2026-05-14 15:25 ` Christian Ebner
2026-05-14 15:25 ` [PATCH proxmox-backup 5/5] fix #7533: restore-daemon: last resort fallback to mount via ntfs-3g Christian Ebner
4 siblings, 0 replies; 6+ messages in thread
From: Christian Ebner @ 2026-05-14 15:25 UTC (permalink / raw)
To: pbs-devel
Adds support for mounting NTFS filesystems via FUSE mount using
ntfs-3g. Avoid pulling in unneeded libdebconfclient0 dependency.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
---
src/build_initramfs.sh | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/build_initramfs.sh b/src/build_initramfs.sh
index 4e2445c..334cbb5 100755
--- a/src/build_initramfs.sh
+++ b/src/build_initramfs.sh
@@ -35,6 +35,7 @@ add_pkgs() {
done
# debconf and gcc are unnecessary, libboost-regex doesn't install on bullseye
DEPS=$(echo "$DEPS" |\
+ sed -E 's/libdebconfclient([[:digit:]])?//g' |\
sed -E 's/debconf(-2\.0)?//g' |\
sed -E 's/libboost-regex([[:digit:]]\.[[:digit:]]+)?//g' |\
sed -E 's/gcc-.{1,2}-base//g' |\
@@ -90,6 +91,7 @@ add_pkgs "
libgcrypt20:amd64 \
libtirpc3t64:amd64 \
lvm2:amd64 \
+ ntfs-3g:amd64 \
thin-provisioning-tools:amd64 \
" 'base'
--
2.47.3
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH proxmox-backup 5/5] fix #7533: restore-daemon: last resort fallback to mount via ntfs-3g
2026-05-14 15:25 [RFC proxmox{-backup-restore-image,-backup} 0/5] fix #7544: provide fallback to ntfs-3g for file-restore VM Christian Ebner
` (3 preceding siblings ...)
2026-05-14 15:25 ` [PATCH proxmox-backup-restore-image 4/5] initramfs: add ntfs-3g as build dependency Christian Ebner
@ 2026-05-14 15:25 ` Christian Ebner
4 siblings, 0 replies; 6+ messages in thread
From: Christian Ebner @ 2026-05-14 15:25 UTC (permalink / raw)
To: pbs-devel
Some Windows NTFS partitions fail to mount with the current in-kernel
filesystem implementations. The same filesystems can however be
mounted using the user space ntfs-3g implementation.
Provide a last resort fallback if all other attempts fail to mount ai
disk or partition, trying to use the FUSE implementation of ntfs-3g.
Fixes: https://bugzilla.proxmox.com/show_bug.cgi?id=7544
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
---
Tested this by a modified version where the in-kernel ntfs and ntfs3
were excluded from the supported fs list.
.../src/proxmox_restore_daemon/disk.rs | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/proxmox-restore-daemon/src/proxmox_restore_daemon/disk.rs b/proxmox-restore-daemon/src/proxmox_restore_daemon/disk.rs
index 7936dc764..e1777d1b1 100644
--- a/proxmox-restore-daemon/src/proxmox_restore_daemon/disk.rs
+++ b/proxmox-restore-daemon/src/proxmox_restore_daemon/disk.rs
@@ -344,6 +344,15 @@ impl Filesystems {
}
}
+ info!("All provided in-kernel filesystems failed: try FUSE mount using ntfs-3g");
+
+ let mut cmd = Command::new("/usr/bin/ntfs-3g");
+ cmd.args(["-o", "ro", source, target].iter());
+ match run_command(cmd, None) {
+ Ok(_) => return Ok(()),
+ Err(err) => warn!("ntfs-3g mount failed for '{source}': {err:#}"),
+ }
+
bail!("all mounts failed or no supported file system")
}
--
2.47.3
^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-05-14 15:25 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-14 15:25 [RFC proxmox{-backup-restore-image,-backup} 0/5] fix #7544: provide fallback to ntfs-3g for file-restore VM Christian Ebner
2026-05-14 15:25 ` [PATCH proxmox-backup-restore-image 1/5] update ZFS to 2.4.2 Christian Ebner
2026-05-14 15:25 ` [PATCH proxmox-backup-restore-image 2/5] update kernel to Ubuntu-7.0.0-17.17 Christian Ebner
2026-05-14 15:25 ` [PATCH proxmox-backup-restore-image 3/5] config: enable FUSE support to allow using ntfs-3g Christian Ebner
2026-05-14 15:25 ` [PATCH proxmox-backup-restore-image 4/5] initramfs: add ntfs-3g as build dependency Christian Ebner
2026-05-14 15:25 ` [PATCH proxmox-backup 5/5] fix #7533: restore-daemon: last resort fallback to mount via ntfs-3g Christian Ebner
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.