18c2ecf20Sopenharmony_ci/* 28c2ecf20Sopenharmony_ci * JFFS2 -- Journalling Flash File System, Version 2. 38c2ecf20Sopenharmony_ci * 48c2ecf20Sopenharmony_ci * Copyright © 2006 NEC Corporation 58c2ecf20Sopenharmony_ci * 68c2ecf20Sopenharmony_ci * Created by KaiGai Kohei <kaigai@ak.jp.nec.com> 78c2ecf20Sopenharmony_ci * 88c2ecf20Sopenharmony_ci * For licensing information, see the file 'LICENCE' in this directory. 98c2ecf20Sopenharmony_ci * 108c2ecf20Sopenharmony_ci */ 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ci#include <linux/kernel.h> 138c2ecf20Sopenharmony_ci#include <linux/fs.h> 148c2ecf20Sopenharmony_ci#include <linux/jffs2.h> 158c2ecf20Sopenharmony_ci#include <linux/xattr.h> 168c2ecf20Sopenharmony_ci#include <linux/mtd/mtd.h> 178c2ecf20Sopenharmony_ci#include "nodelist.h" 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_cistatic int jffs2_user_getxattr(const struct xattr_handler *handler, 208c2ecf20Sopenharmony_ci struct dentry *unused, struct inode *inode, 218c2ecf20Sopenharmony_ci const char *name, void *buffer, size_t size) 228c2ecf20Sopenharmony_ci{ 238c2ecf20Sopenharmony_ci return do_jffs2_getxattr(inode, JFFS2_XPREFIX_USER, 248c2ecf20Sopenharmony_ci name, buffer, size); 258c2ecf20Sopenharmony_ci} 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_cistatic int jffs2_user_setxattr(const struct xattr_handler *handler, 288c2ecf20Sopenharmony_ci struct dentry *unused, struct inode *inode, 298c2ecf20Sopenharmony_ci const char *name, const void *buffer, 308c2ecf20Sopenharmony_ci size_t size, int flags) 318c2ecf20Sopenharmony_ci{ 328c2ecf20Sopenharmony_ci return do_jffs2_setxattr(inode, JFFS2_XPREFIX_USER, 338c2ecf20Sopenharmony_ci name, buffer, size, flags); 348c2ecf20Sopenharmony_ci} 358c2ecf20Sopenharmony_ci 368c2ecf20Sopenharmony_ciconst struct xattr_handler jffs2_user_xattr_handler = { 378c2ecf20Sopenharmony_ci .prefix = XATTR_USER_PREFIX, 388c2ecf20Sopenharmony_ci .set = jffs2_user_setxattr, 398c2ecf20Sopenharmony_ci .get = jffs2_user_getxattr 408c2ecf20Sopenharmony_ci}; 41