[Btrfs-devel] use for the flags section of dir_item

Josef Bacik jbacik at redhat.com
Tue Sep 11 11:03:58 PDT 2007


Hello,

I don't need an "flags" type thing per se, I just think it would be useful to
have a nice small sub-identifier for the dir_item so I can quickly figure out
who the handler for the xattr I'm looking at is.  Currently for my listxattr
code, I do a search for type BTRFS_XATTR_ITEM_KEY and I get all of my xattr's
back.  Now because I abstracted out the the handling of each prefix ("user.",
"security." etc) i have a "list" function like ext3 et al has that just
bascially copies the information from the dir item into the buffer to return
back to user space.  This is why I originally didn't do the abstraction, because
I thought this approach was dumb since we always do the same thing, but
apparently it has its uses.  So when I pull out a dir item, I have to loop
through all of my known prefixes until I find the one it matches, and send it
off to the specific list handler to copy it into the buffer.  I can at this
point do one of two things

1) just not abstract out the list function.  I can't see anywhere where I would
want to do something differently, but again I may have missed something so I'd
like to know what other people think about this.
2) add a field that I can put the attr index for that particular attr, so when I
read it off the disk, i just do something like

struct xattr_handler *handler = btrfs_xattr_handler(btrfs_dir_item_ident(di));

instead of having to loop through all of my handlers for each xattr attached to
that inode.  Let me know what you think :),

Josef



More information about the Btrfs-devel mailing list