summary refs log tree commit diff
path: root/pkgs/tools/filesystems/btrfsprogs/btrfs-receive-lchown.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/filesystems/btrfsprogs/btrfs-receive-lchown.patch')
-rw-r--r--pkgs/tools/filesystems/btrfsprogs/btrfs-receive-lchown.patch12
1 files changed, 12 insertions, 0 deletions
diff --git a/pkgs/tools/filesystems/btrfsprogs/btrfs-receive-lchown.patch b/pkgs/tools/filesystems/btrfsprogs/btrfs-receive-lchown.patch
new file mode 100644
index 000000000000..3abb1ba25d32
--- /dev/null
+++ b/pkgs/tools/filesystems/btrfsprogs/btrfs-receive-lchown.patch
@@ -0,0 +1,12 @@
+diff --git a/cmds-receive.c b/cmds-receive.c
+index 6b7cf12..a6a6a5b 100644
+--- a/cmds-receive.c
++++ b/cmds-receive.c
+@@ -731,7 +731,7 @@  static int process_chown(const char *path, u64 uid, u64 gid, void *user)
+ 		fprintf(stderr, "chown %s - uid=%llu, gid=%llu\n", path,
+ 				uid, gid);
+
+-	ret = chown(full_path, uid, gid);
++	ret = lchown(full_path, uid, gid);
+ 	if (ret < 0) {
+ 		ret = -errno;