Bug 905585

Summary: xfsrestore does not preserve file capabilities
Product: Red Hat Enterprise Linux 6 Reporter: Eric Sandeen <esandeen>
Component: xfsdumpAssignee: Eric Sandeen <esandeen>
Status: CLOSED ERRATA QA Contact: Eryu Guan <eguan>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.4CC: branto, eguan, esandeen
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: xfsdump-3.0.4-4.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 905584
: 1013345 (view as bug list) Environment:
Last Closed: 2014-10-14 07:50:00 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 905584    
Bug Blocks: 1013345    

Description Eric Sandeen 2013-01-29 17:35:42 UTC
+++ This bug was initially created as a clone of Bug #905584 +++

Description of problem:

xfsdump & xfsrestore fails to preserve unix capabilities.

Version-Release number of selected component (if applicable):

Current upstream

How reproducible:

Every time


Additional info:

While xfsdump/restore does save & re-write file capabilities, it does a chown after capabilities are restored, which causes the kernel to clear all capabilities again.

Presumably simply changing the order of chown & capability restore will do the trick.

Comment 2 RHEL Program Management 2013-02-02 06:48:21 UTC
This request was not resolved in time for the current release.
Red Hat invites you to ask your support representative to
propose this request, if still desired, for consideration in
the next release of Red Hat Enterprise Linux.

Comment 3 Eric Sandeen 2013-05-13 17:02:46 UTC
This is not yet fixed upstream.

Comment 4 Eric Sandeen 2014-02-17 17:03:26 UTC
http://oss.sgi.com/cgi-bin/gitweb.cgi?p=xfs/cmds/xfsdump.git;a=commitdiff;h=a88c49071dde2539cce6d502effc27501416983a

From a88c49071dde2539cce6d502effc27501416983a Mon Sep 17 00:00:00 2001
From: Dave Chinner <dchinner>
Date: Thu, 6 Feb 2014 16:48:39 +1100
Subject: [PATCH] restore: don't trash file capabilities

xfsrestore fails to restore file capabilities correctly because it
sets the owner on the file after it has restored the capability
attributes. This results in the kernel stripping the capabilities
when changing the owner of the file and hence the restored file is
not complete.

Fix this by changing the owner of the file when it is created rather
than after it has been fully restored. This ensures we don't kill
the caps as they are restored after the owner it appropriately set.
This fixes the xfs/296 failure.

Signed-off-by: Dave Chinner <dchinner>
Reviewed-by: Brian Foster <bfoster>
Signed-off-by: Dave Chinner <david>
---

Comment 7 Eryu Guan 2014-07-11 07:22:30 UTC
Verified with kernel-2.6.32-488.el6 and xfsdump-3.0.4-4.el6, xfs/296 passed.

Set to VERIFIED.

Comment 9 errata-xmlrpc 2014-10-14 07:50:00 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2014-1565.html