mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-22 15:02:32 +00:00
34 lines
1.1 KiB
Diff
34 lines
1.1 KiB
Diff
|
From f42cbe1a91a3a6f79d1eec594ce7c72aec79179b Mon Sep 17 00:00:00 2001
|
||
|
From: =?UTF-8?q?Thomas=20Wei=C3=9Fschuh?= <thomas@t-8ch.de>
|
||
|
Date: Wed, 9 Nov 2022 05:08:22 +0100
|
||
|
Subject: [PATCH] don't fail hard on EACCES when copying xattrs
|
||
|
|
||
|
On btrfs the xattr "btrfs.compressed" requires privileges to set,
|
||
|
otherwise EACCES is returned.
|
||
|
When patch tries to do copy this attribute it receives the error and
|
||
|
aborts.
|
||
|
---
|
||
|
src/util.c | 4 ++--
|
||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||
|
|
||
|
--- a/src/util.c
|
||
|
+++ b/src/util.c
|
||
|
@@ -182,7 +182,7 @@ copy_attr_error (struct error_context *c
|
||
|
int err = errno;
|
||
|
va_list ap;
|
||
|
|
||
|
- if (err != ENOSYS && err != ENOTSUP && err != EPERM)
|
||
|
+ if (err != ENOSYS && err != ENOTSUP && err != EPERM && err != EACCES)
|
||
|
{
|
||
|
/* use verror module to print error message */
|
||
|
va_start (ap, fmt);
|
||
|
@@ -284,7 +284,7 @@ set_file_attributes (char const *to, enu
|
||
|
}
|
||
|
if (attr & FA_XATTRS)
|
||
|
if (copy_attr (from, to) != 0
|
||
|
- && errno != ENOSYS && errno != ENOTSUP && errno != EPERM)
|
||
|
+ && errno != ENOSYS && errno != ENOTSUP && errno != EPERM && errno != EACCES)
|
||
|
fatal_exit (0);
|
||
|
if (attr & FA_MODE)
|
||
|
{
|