![Andreas Gruenbacher](/assets/img/avatar_default.png)
Change the list operation to only return whether or not an attribute should be listed. Copying the attribute names into the buffer is moved to the callers. Since the result only depends on the dentry and not on the attribute name, we do not pass the attribute name to list operations. Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
40 lines
1 KiB
C
40 lines
1 KiB
C
/*
|
|
* JFFS2 -- Journalling Flash File System, Version 2.
|
|
*
|
|
* Copyright © 2006 NEC Corporation
|
|
*
|
|
* Created by KaiGai Kohei <kaigai@ak.jp.nec.com>
|
|
*
|
|
* For licensing information, see the file 'LICENCE' in this directory.
|
|
*
|
|
*/
|
|
|
|
#include <linux/kernel.h>
|
|
#include <linux/fs.h>
|
|
#include <linux/jffs2.h>
|
|
#include <linux/xattr.h>
|
|
#include <linux/mtd/mtd.h>
|
|
#include "nodelist.h"
|
|
|
|
static int jffs2_user_getxattr(const struct xattr_handler *handler,
|
|
struct dentry *dentry, const char *name,
|
|
void *buffer, size_t size)
|
|
{
|
|
return do_jffs2_getxattr(d_inode(dentry), JFFS2_XPREFIX_USER,
|
|
name, buffer, size);
|
|
}
|
|
|
|
static int jffs2_user_setxattr(const struct xattr_handler *handler,
|
|
struct dentry *dentry, const char *name,
|
|
const void *buffer, size_t size, int flags)
|
|
{
|
|
return do_jffs2_setxattr(d_inode(dentry), JFFS2_XPREFIX_USER,
|
|
name, buffer, size, flags);
|
|
}
|
|
|
|
const struct xattr_handler jffs2_user_xattr_handler = {
|
|
.prefix = XATTR_USER_PREFIX,
|
|
.set = jffs2_user_setxattr,
|
|
.get = jffs2_user_getxattr
|
|
};
|