Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Feb 2016 16:45:03 -0500
From:      Ken Merry <ken@freebsd.org>
To:        fs@freebsd.org
Cc:        scsi@freebsd.org
Subject:   FUSE extended attribute patches available
Message-ID:  <CD5FCB90-1952-4014-BBE0-1BFF1EF85E17@freebsd.org>

next in thread | raw e-mail | index | archive | help
I have patches for FreeBSD=E2=80=99s FUSE filesystem kernel module to =
support extended attributes:

https://people.freebsd.org/~ken/fuse_extattr.20160229.1.txt

The patch implements the get/set/delete/list extended attribute methods. =
 The listing code also converts extended attribute lists from the =
Linux/FUSE format to the FreeBSD format.  For example:

# touch foo
# ls -la foo
-rwxrwxrwx  1 root  wheel  0 Feb 29 21:40 foo
# lsextattr user foo
foo
# setextattr user testattr1 "12345678" foo
# lsextattr user foo
foo     testattr1
# getextattr user testattr1 foo
foo     12345678
# setextattr user testattr2 "87654321" foo
# lsextattr user foo
foo     testattr2       testattr1
# rmextattr user testattr1 foo
# lsextattr user foo
foo     testattr2
# getextattr user testattr1 foo
getextattr: foo: failed: Attribute not found
# getextattr user testattr2 foo
foo     87654321


Just to be clear on what this does, it only provides extended attribute =
support to FreeBSD applications if the underlying FUSE filesystem =
implements FUSE extended attribute support.  Many FUSE filesystems =
don=E2=80=99t support the extended attribute VFS operations.

I have tested this out on IBM=E2=80=99s LTFS implementation, but I have =
not yet found another FUSE filesystem that supports extended attributes. =
 If anyone knows of one, please let me know so I can try it out.  (I =
looked through a number of the filesystems in sysutils/fusefs* in the =
ports tree.)

Any feedback is welcome.  I=E2=80=99m planning to check this into =
FreeBSD/head in the next week or so.

Obviously, I=E2=80=99ve also ported IBM=E2=80=99s LTFS implementation to =
FreeBSD.  It works in the standard FUSE mode, and you can also link it =
into an application as a library if you don=E2=80=99t want to incur the =
overhead of running through FUSE.  I haven=E2=80=99t gotten around to =
packaging it up to go out for testing / review.

If anyone has IBM LTO-5 or newer tape drives, or IBM TS1140 or newer =
tape drives, and wants to try it out, let me know.  I=E2=80=99ll send =
you the code when I=E2=80=99ve got it at least somewhat ready.  This is =
IBM-specific, and won=E2=80=99t work on HP tape drives.

Ken
=E2=80=94=20
Ken Merry
ken@FreeBSD.ORG






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CD5FCB90-1952-4014-BBE0-1BFF1EF85E17>