Root/
1 | /* |
2 | * Copyright (C) 2001 - 2003 Sistina Software |
3 | * Copyright (C) 2004 - 2008 Red Hat, Inc. All rights reserved. |
4 | * |
5 | * kcopyd provides a simple interface for copying an area of one |
6 | * block-device to one or more other block-devices, either synchronous |
7 | * or with an asynchronous completion notification. |
8 | * |
9 | * This file is released under the GPL. |
10 | */ |
11 | |
12 | #ifndef _LINUX_DM_KCOPYD_H |
13 | #define _LINUX_DM_KCOPYD_H |
14 | |
15 | #ifdef __KERNEL__ |
16 | |
17 | #include <linux/dm-io.h> |
18 | |
19 | /* FIXME: make this configurable */ |
20 | #define DM_KCOPYD_MAX_REGIONS 8 |
21 | |
22 | #define DM_KCOPYD_IGNORE_ERROR 1 |
23 | |
24 | /* |
25 | * To use kcopyd you must first create a dm_kcopyd_client object. |
26 | */ |
27 | struct dm_kcopyd_client; |
28 | int dm_kcopyd_client_create(unsigned num_pages, |
29 | struct dm_kcopyd_client **result); |
30 | void dm_kcopyd_client_destroy(struct dm_kcopyd_client *kc); |
31 | |
32 | /* |
33 | * Submit a copy job to kcopyd. This is built on top of the |
34 | * previous three fns. |
35 | * |
36 | * read_err is a boolean, |
37 | * write_err is a bitset, with 1 bit for each destination region |
38 | */ |
39 | typedef void (*dm_kcopyd_notify_fn)(int read_err, unsigned long write_err, |
40 | void *context); |
41 | |
42 | int dm_kcopyd_copy(struct dm_kcopyd_client *kc, struct dm_io_region *from, |
43 | unsigned num_dests, struct dm_io_region *dests, |
44 | unsigned flags, dm_kcopyd_notify_fn fn, void *context); |
45 | |
46 | #endif /* __KERNEL__ */ |
47 | #endif /* _LINUX_DM_KCOPYD_H */ |
48 |
Branches:
ben-wpan
ben-wpan-stefan
javiroman/ks7010
jz-2.6.34
jz-2.6.34-rc5
jz-2.6.34-rc6
jz-2.6.34-rc7
jz-2.6.35
jz-2.6.36
jz-2.6.37
jz-2.6.38
jz-2.6.39
jz-3.0
jz-3.1
jz-3.11
jz-3.12
jz-3.13
jz-3.15
jz-3.16
jz-3.18-dt
jz-3.2
jz-3.3
jz-3.4
jz-3.5
jz-3.6
jz-3.6-rc2-pwm
jz-3.9
jz-3.9-clk
jz-3.9-rc8
jz47xx
jz47xx-2.6.38
master
Tags:
od-2011-09-04
od-2011-09-18
v2.6.34-rc5
v2.6.34-rc6
v2.6.34-rc7
v3.9