brintos

brintos / linux-shallow public Read only

0
0
Text · 1.1 KiB · 8819518 Raw
44 lines · c
1// SPDX-License-Identifier: GPL-2.02#include "reiserfs.h"3#include <linux/errno.h>4#include <linux/fs.h>5#include <linux/pagemap.h>6#include <linux/xattr.h>7#include "xattr.h"8#include <linux/uaccess.h>9 10static int11user_get(const struct xattr_handler *handler, struct dentry *unused,12	 struct inode *inode, const char *name, void *buffer, size_t size)13{14	if (!reiserfs_xattrs_user(inode->i_sb))15		return -EOPNOTSUPP;16	return reiserfs_xattr_get(inode, xattr_full_name(handler, name),17				  buffer, size);18}19 20static int21user_set(const struct xattr_handler *handler, struct mnt_idmap *idmap,22	 struct dentry *unused,23	 struct inode *inode, const char *name, const void *buffer,24	 size_t size, int flags)25{26	if (!reiserfs_xattrs_user(inode->i_sb))27		return -EOPNOTSUPP;28	return reiserfs_xattr_set(inode,29				  xattr_full_name(handler, name),30				  buffer, size, flags);31}32 33static bool user_list(struct dentry *dentry)34{35	return reiserfs_xattrs_user(dentry->d_sb);36}37 38const struct xattr_handler reiserfs_xattr_user_handler = {39	.prefix = XATTR_USER_PREFIX,40	.get = user_get,41	.set = user_set,42	.list = user_list,43};44