FUSE extended attribute patches available
Ken Merry
ken at freebsd.org
Mon Feb 29 21:45:06 UTC 2016
I have patches for FreeBSD’s 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’t support the extended attribute VFS operations.
I have tested this out on IBM’s 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’m planning to check this into FreeBSD/head in the next week or so.
Obviously, I’ve also ported IBM’s 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’t want to incur the overhead of running through FUSE. I haven’t 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’ll send you the code when I’ve got it at least somewhat ready. This is IBM-specific, and won’t work on HP tape drives.
Ken
—
Ken Merry
ken at FreeBSD.ORG
More information about the freebsd-scsi
mailing list