[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GSoC] Implement xattr Support Update

From: Shengyu Zhang
Subject: [GSoC] Implement xattr Support Update
Date: Fri, 19 Aug 2016 11:06:32 +0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0

Hi all,

GSoC is coming to an end. It is time to report my work during this summer.

As I said in my proposal, my project has three goals:

- Implement xattr support for ext2fs
- Using xattr to store passive translator
- Port xattr tools to hurd

Now, the first two goals are achieved, I had sumitted two patches for them.
the left work is in progress, I will finish it after gsoc in spare time.

# Implement xattr support for ext2fs

After some discussion[1], we use namespace "gnu." to storing hurd-spceifed meta
message. (The anohter reason that doesn't mentioned in aboved discussion is
that: this namespace is already used in glibc[2])

The work about xattr support is based on Cascardo's previous patch[3].
Current ext2fs only supports two xattr namespaces: "user." and "gnu.",
It is no diffcult to add more namespaces, we only add what we need ;-P.

# Using xattr to store passive translator

After implement the xattr support, I modified `diskfs_set_translator' and
`diskfs_get_translator' (functions in ext2fs/inode.c) to add xattr support:

- When setting a passive translator, if xattr is supported on current filesystem, passive translator will be stored as a xattr value with name "gnu.translator".
  Otherwise, the "leagcy translator" will be created.
- When reading a passive translator, if "leagcy translator" was found, take it out.
  Otherwise, try to find xattr value with name "gnu.translator"

Note: Although xattr name&value can be created/modified on other system
(such as Linux), passive translator should only work on hurd-created
filesytem (it was discussed in #hurd[4]).

# Port xattr tools to hurd

Until now, libdiskfs & glibc interface has roughly finished.

My code hasn't been merged to upstream yet, you can check them in the following


At last, Thank to all the people who gave me helps, especially my two mentors
braunr and teythoon :-).

[1] http://lists.gnu.org/archive/html/bug-hurd/2016-07/msg00014.html
[2] http://git.savannah.gnu.org/cgit/hurd/glibc.git/tree/hurd/xattr.c?h=baseline#n27
[3] https://savannah.gnu.org/patch/?5126
[4] http://richtlijn.be/~larstiq/hurd/hurd-2016-08-08

Best regards
Shengyu Zhang

reply via email to

[Prev in Thread] Current Thread [Next in Thread]