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
writev.c
Go to the documentation of this file.
1
/*
2
* JFFS2 -- Journalling Flash File System, Version 2.
3
*
4
* Copyright © 2001-2007 Red Hat, Inc.
5
*
6
* Created by David Woodhouse <
[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/mtd/mtd.h
>
14
#include "
nodelist.h
"
15
16
int
jffs2_flash_direct_writev
(
struct
jffs2_sb_info
*
c
,
const
struct
kvec
*vecs,
17
unsigned
long
count
, loff_t to,
size_t
*retlen)
18
{
19
if
(!
jffs2_is_writebuffered
(c)) {
20
if
(
jffs2_sum_active
()) {
21
int
res
;
22
res =
jffs2_sum_add_kvec
(c, vecs, count, (
uint32_t
) to);
23
if
(res) {
24
return
res
;
25
}
26
}
27
}
28
29
return
mtd_writev
(c->
mtd
, vecs, count, to, retlen);
30
}
31
32
int
jffs2_flash_direct_write
(
struct
jffs2_sb_info
*
c
, loff_t ofs,
size_t
len,
33
size_t
*retlen,
const
u_char
*
buf
)
34
{
35
int
ret
;
36
ret =
mtd_write
(c->
mtd
, ofs, len, retlen, buf);
37
38
if
(
jffs2_sum_active
()) {
39
struct
kvec
vecs[1];
40
int
res
;
41
42
vecs[0].
iov_base
= (
unsigned
char
*) buf;
43
vecs[0].
iov_len
= len;
44
45
res =
jffs2_sum_add_kvec
(c, vecs, 1, (
uint32_t
) ofs);
46
if
(res) {
47
return
res
;
48
}
49
}
50
return
ret
;
51
}
Generated on Thu Jan 10 2013 14:47:44 for Linux Kernel by
1.8.2