mirror of
				https://github.com/restic/restic.git
				synced 2025-10-31 03:02:05 +00:00 
			
		
		
		
	xattrs - restore all by default, doc/chglog update
Signed-off-by: Tesshu Flower <tflower@redhat.com>
This commit is contained in:
		| @@ -1,22 +1,13 @@ | ||||
| Enhancement: Allow including or excluding extended file attributes | ||||
| during restore. | ||||
| Enhancement: Allow including/excluding extended file attributes during restore | ||||
|  | ||||
| # Describe the problem in the past tense, the new behavior in the present | ||||
| # tense. Mention the affected commands, backends, operating systems, etc. | ||||
| # If the problem description just says that a feature was missing, then | ||||
| # only explain the new behavior. | ||||
| # Focus on user-facing behavior, not the implementation. | ||||
| # Use "Restic now ..." instead of "We have changed ...". | ||||
| # | ||||
| Restic restore used to attempt to restore all extended file attributes. | ||||
| Restic restore attempts to restore all extended file attributes. | ||||
| Now two new command line flags are added to restore to control which | ||||
| extended file attributes will be restored. | ||||
|  | ||||
| The new flags are `--exclude-xattr` and `--include-xattr`. | ||||
|  | ||||
| If the flags are not provided, restic will default to restoring | ||||
| only `user` namespaced extended file attributes on Linux, and all | ||||
| extended file attributes on other operating systems. | ||||
| all extended file attributes. | ||||
|  | ||||
| https://github.com/restic/restic/issues/5089 | ||||
| https://github.com/restic/restic/pull/5129 | ||||
|   | ||||
| @@ -3,7 +3,6 @@ package main | ||||
| import ( | ||||
| 	"context" | ||||
| 	"path/filepath" | ||||
| 	"runtime" | ||||
| 	"time" | ||||
|  | ||||
| 	"github.com/restic/restic/internal/debug" | ||||
| @@ -301,14 +300,6 @@ func getXattrSelectFilter(opts RestoreOptions) (func(xattrName string) bool, err | ||||
| 		}, nil | ||||
| 	} | ||||
|  | ||||
| 	// User has not specified any xattr includes or excludes | ||||
| 	if runtime.GOOS == "linux" { | ||||
| 		// For Linux, set default of including only user.* xattrs | ||||
| 		return func(xattrName string) bool { | ||||
| 			shouldInclude, _ := filter.IncludeByPattern([]string{"user.*"}, Warnf)(xattrName) | ||||
| 			return shouldInclude | ||||
| 		}, nil | ||||
| 	} | ||||
| 	// Not linux, default to including all xattrs | ||||
| 	// default to including all xattrs | ||||
| 	return func(_ string) bool { return true }, nil | ||||
| } | ||||
|   | ||||
| @@ -91,10 +91,9 @@ stored explicitly. | ||||
| Restoring extended file attributes | ||||
| ---------------------------------- | ||||
|  | ||||
| By default, user namespaced extended attributes for files are restored on Linux, | ||||
| and all extended attributes are restored for other operating systems. | ||||
| By default, all extended attributes for files are restored. | ||||
|  | ||||
| Use ``--exclude-xattr`` and ``--include-xattr`` to control which extended | ||||
| Use only ``--exclude-xattr`` or ``--include-xattr`` to control which extended | ||||
| attributes are restored for files in the snapshot. For example, to restore | ||||
| user and security namespaced extended attributes for files: | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Tesshu Flower
					Tesshu Flower