FUSE extended attribute patches available

Kenneth D. Merry ken at FreeBSD.ORG
Mon Mar 7 16:19:50 UTC 2016


On Sun, Mar 06, 2016 at 23:16:06 -0800, Julian Elischer wrote:
> On 5/03/2016 7:06 PM, Rick Macklem wrote:
> > Ken Merry wrote:
> >> I have patches for FreeBSD???s FUSE filesystem kernel module to support
> >> extended attributes:
> oh showing off your masochistic side eh?

I suppose so; it was rather slow going to figure out the interface.  More
documentation on the interface would be helpful.  Even a more clearly
structured interface would be helpful.

> >> https://people.freebsd.org/~ken/fuse_extattr.20160229.1.txt
> >>
> I spent an hour beating my head against fuse yesterday.
> then realised that it's an old version on our product. We really have 
> to get off 8.0
> (hopefully a matter of weeks now to a 10.x switch)
> Now all I need is to find  a FreeBSD filesystem expert 
> (ZFS/NFS/CIFS/GFS) to hire.

I'm sure you know a few, you'll just have to persuade someone.

> > The only bit of code I have that might be useful for this patch is:
> >    	case FUSE_GETXATTR:
> >    	case FUSE_LISTXATTR:
> > ! 		/*
> > ! 		 * These can have varying response lengths, and 0 length
> > ! 		 * isn't necessarily invalid.
> > ! 		 */
> > ! 		err = 0;
> > *** I came up with this:
> > 		fgin = (struct fuse_getxattr_in *)
> > 		    ((char *)ftick->tk_ms_fiov.base +
> > 		     sizeof(struct fuse_in_header));
> > 		if (fgin->size == 0)
> > 			err = (blen == sizeof(struct fuse_getxattr_out)) ? 0 :
> > 			    EINVAL;
> > 		else
> > 			err = (blen <= fgin->size) ? 0 : EINVAL;
> >    		break;
> > I think I got the size check right?
> >
> > The big question is...
> > What to do with the NAMESPACE?
> > - My code fails for SYSTEM and does USER without prepending "user.".
> >    (That seemed to be what rwatson@ felt was reasonable. I thought our
> >     discussion was on a mailing list, but I can't find it.)
> >    I've cc'd him. Maybe he can comment again.
> Is there  a standard for extended attributes I should knwo about?
>   It seems to me that it's a bit like the wild west.
> Extended attributes seem to be "every OS for himself".

It does appear to be somewhat OS-dependent.

Ken
-- 
Kenneth Merry
ken at FreeBSD.ORG


More information about the freebsd-scsi mailing list