From 66231a3f802b70a82792c9cd158aa9fe39aa6fe6 Mon Sep 17 00:00:00 2001 From: Marat Radchenko Date: Tue, 14 Jul 2026 17:56:07 +0300 Subject: [PATCH] Improve error reporting in `copyIrregular` Add filename to error message so it is clear what exactly failed to be copied Signed-off-by: Marat Radchenko --- fs/copy_irregular_freebsd.go | 7 ++++++- fs/copy_irregular_unix.go | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/fs/copy_irregular_freebsd.go b/fs/copy_irregular_freebsd.go index cfe9d802..e69e9038 100644 --- a/fs/copy_irregular_freebsd.go +++ b/fs/copy_irregular_freebsd.go @@ -32,5 +32,10 @@ func copyIrregular(dst string, fi os.FileInfo) error { if fi.Mode()&os.ModeDevice == os.ModeDevice { rDev = st.Rdev } - return syscall.Mknod(dst, uint32(st.Mode), rDev) + + if err := syscall.Mknod(dst, uint32(st.Mode), rDev); err != nil { + return fmt.Errorf("failed to mknod %q: %w", dst, err) + } + + return nil } diff --git a/fs/copy_irregular_unix.go b/fs/copy_irregular_unix.go index 0478f706..1b20bcbb 100644 --- a/fs/copy_irregular_unix.go +++ b/fs/copy_irregular_unix.go @@ -34,6 +34,11 @@ func copyIrregular(dst string, fi os.FileInfo) error { if fi.Mode()&os.ModeDevice == os.ModeDevice { rDev = int(st.Rdev) } + //nolint:unconvert - return syscall.Mknod(dst, uint32(st.Mode), rDev) + if err := syscall.Mknod(dst, uint32(st.Mode), rDev); err != nil { + return fmt.Errorf("failed to mknod %q: %w", dst, err) + } + + return nil }