all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [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.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal