46 lines
1.8 KiB
Diff
46 lines
1.8 KiB
Diff
|
From ad75a97f7d86ddbc1b8521ae084862013c1713b0 Mon Sep 17 00:00:00 2001
|
||
|
From: Lennart Poettering <lennart@poettering.net>
|
||
|
Date: Wed, 22 Jul 2015 22:02:14 +0200
|
||
|
Subject: [PATCH] tmpfiles: downgrade errors when a file system does not
|
||
|
support file attributes
|
||
|
|
||
|
This downgrades errors from setting file attributes via tmpfiles to
|
||
|
warnings and makes them non-fatal.
|
||
|
|
||
|
Also, as a special case, if a file system does not support file
|
||
|
attributes at all, then the message is downgraded to debug, so that it
|
||
|
is not seen at all.
|
||
|
|
||
|
With this change reiserfs should not see any messages at all anymore
|
||
|
(since it apparently does not implement file attributes at all), but XFS
|
||
|
will still get a warning but no failure. The warning is something the
|
||
|
XFS kernel folks should fix though, by adjusting their file attributes
|
||
|
behaviour to be identical to ext234's.
|
||
|
|
||
|
Fixes #560.
|
||
|
---
|
||
|
src/tmpfiles/tmpfiles.c | 7 ++++---
|
||
|
1 file changed, 4 insertions(+), 3 deletions(-)
|
||
|
|
||
|
diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
|
||
|
index 42f757c..271984b 100644
|
||
|
--- a/src/tmpfiles/tmpfiles.c
|
||
|
+++ b/src/tmpfiles/tmpfiles.c
|
||
|
@@ -955,9 +955,10 @@ static int path_set_attribute(Item *item, const char *path) {
|
||
|
|
||
|
r = chattr_fd(fd, f, item->attribute_mask);
|
||
|
if (r < 0)
|
||
|
- return log_error_errno(r,
|
||
|
- "Cannot set file attribute for '%s', value=0x%08x, mask=0x%08x: %m",
|
||
|
- path, item->attribute_value, item->attribute_mask);
|
||
|
+ log_full_errno(r == -ENOTTY ? LOG_DEBUG : LOG_WARNING,
|
||
|
+ r,
|
||
|
+ "Cannot set file attribute for '%s', value=0x%08x, mask=0x%08x: %m",
|
||
|
+ path, item->attribute_value, item->attribute_mask);
|
||
|
|
||
|
return 0;
|
||
|
}
|
||
|
--
|
||
|
2.4.3
|
||
|
|