path: root/community/gsoc/project_ideas
diff options
authorThomas Schwinge <>2018-05-25 15:35:17 +0200
committerThomas Schwinge <>2018-05-25 15:35:17 +0200
commiteda7364b16b318c7209e60b9699d672cc599e040 (patch)
tree378f1131d25e31cdc9eba37ff2d2946d284c7cca /community/gsoc/project_ideas
parenta6844c659acd25e913b1d20e48610765352bd10e (diff)
Revert page removal of "Drop xattr project idea, it's done"
..., to avoid breaking existing links. Instead, mark as obsolete. This reverts parts of commit a6844c659acd25e913b1d20e48610765352bd10e.
Diffstat (limited to 'community/gsoc/project_ideas')
1 files changed, 50 insertions, 0 deletions
diff --git a/community/gsoc/project_ideas/xattr.mdwn b/community/gsoc/project_ideas/xattr.mdwn
new file mode 100644
index 0000000..f35498f
--- /dev/null
+++ b/community/gsoc/project_ideas/xattr.mdwn
@@ -0,0 +1,50 @@
+[[!meta copyright="Copyright © 2009, 2016, 2018 Free Software Foundation,
+[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
+id="license" text="Permission is granted to copy, distribute and/or modify this
+document under the terms of the GNU Free Documentation License, Version 1.2 or
+any later version published by the Free Software Foundation; with no Invariant
+Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
+is included in the section entitled
+[[GNU Free Documentation License|/fdl]]."]]"""]]
+[[!meta title="Implement xattr Support"]]
+[[!template id=highlight text="""/!\ Obsolete /!\
+This is no longer valid as a Google Summer of Code project; it's done."""]]
+Extended attributes (xattr) are a standardized, generic method for storing
+additional metadata along with a file (inode). Most modern UNIX filesystems
+support xattrs.
+In general, xattrs should be used sparingly, as they are less transparent than
+data stored as explicit file contents; however, there are some cases where they
+really make sense. The Hurd's variant of ext2 presently uses some additional
+fields in the inode to store Hurd-specific metadata: most notable passive
+translator settings. As these fields are Hurd-specific, they can't be accessed
+by the standard methods from Linux for example, so it's not possible to fully
+work with a Hurd filesystem on GNU/Linux (copy, backup etc.); and also, even
+when on Hurd, only tools that explicitly support the Hurd-specific information
+can handle them.
+Using extended attributes instead of custom fields for the Hurd-specific
+information would be very helpful.
+The most important goal of this project thus is to make the Hurd ext2fs server
+able to store and read the Hurd-specific information with extended attributes
+instead of the custom fields, so it become accessible from other systems. Being
+able to access the information through the standard xattr API instead of
+Hurd-specific calls is also desirable. (And in turn requires implementing the
+generic xattr API first, which can be useful for other purposes as well.)
+Completing this project will require digging into some parts of the Hurd, but
+it should be quite doable without previous Hurd experience. Some experience
+with xattrs might help a bit, but shouldn't be really necessary either.
+Some previous work on xattr support is [[available|open_issues/xattr]], and
+might serve as a starting point.