Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
fs
jffs2
xattr_user.c
Go to the documentation of this file.
1
/*
2
* JFFS2 -- Journalling Flash File System, Version 2.
3
*
4
* Copyright © 2006 NEC Corporation
5
*
6
* Created by KaiGai Kohei <
[email protected]
>
7
*
8
* For licensing information, see the file 'LICENCE' in this directory.
9
*
10
*/
11
12
#include <linux/kernel.h>
13
#include <linux/fs.h>
14
#include <
linux/jffs2.h
>
15
#include <linux/xattr.h>
16
#include <
linux/mtd/mtd.h
>
17
#include "
nodelist.h
"
18
19
static
int
jffs2_user_getxattr(
struct
dentry
*
dentry
,
const
char
*
name
,
20
void
*
buffer
,
size_t
size
,
int
type
)
21
{
22
if
(!
strcmp
(name,
""
))
23
return
-
EINVAL
;
24
return
do_jffs2_getxattr
(dentry->
d_inode
,
JFFS2_XPREFIX_USER
,
25
name, buffer, size);
26
}
27
28
static
int
jffs2_user_setxattr(
struct
dentry *dentry,
const
char
*name,
29
const
void
*buffer,
size_t
size,
int
flags
,
int
type)
30
{
31
if
(!
strcmp
(name,
""
))
32
return
-
EINVAL
;
33
return
do_jffs2_setxattr
(dentry->
d_inode
,
JFFS2_XPREFIX_USER
,
34
name, buffer, size, flags);
35
}
36
37
static
size_t
jffs2_user_listxattr(
struct
dentry *dentry,
char
*
list
,
38
size_t
list_size,
const
char
*name,
size_t
name_len
,
int
type)
39
{
40
size_t
retlen =
XATTR_USER_PREFIX_LEN
+ name_len + 1;
41
42
if
(list && retlen <= list_size) {
43
strcpy
(list,
XATTR_USER_PREFIX
);
44
strcpy
(list +
XATTR_USER_PREFIX_LEN
, name);
45
}
46
47
return
retlen;
48
}
49
50
const
struct
xattr_handler
jffs2_user_xattr_handler
= {
51
.prefix =
XATTR_USER_PREFIX
,
52
.list = jffs2_user_listxattr,
53
.set = jffs2_user_setxattr,
54
.get = jffs2_user_getxattr
55
};
Generated on Thu Jan 10 2013 14:44:23 for Linux Kernel by
1.8.2