summaryrefslogtreecommitdiff
blob: eec4aa8bdb9a6a313e545f6b6c8e93cf7fe996e8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
diff -Nrup a/Linux/Kernel/Dm-target.c b/Linux/Kernel/Dm-target.c
--- a/Linux/Kernel/Dm-target.c	2007-04-24 18:32:06.000000000 +0200
+++ b/Linux/Kernel/Dm-target.c	2007-12-22 15:07:56.000000000 +0100
@@ -375,7 +375,11 @@ static void dereference_bio_ctx (struct 
 	if (!atomic_dec_and_test (&bc->ref_count))
 		return;
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)
 	bio_endio (bc->orig_bio, bc->orig_bio->bi_size, bc->error);
+#else
+	bio_endio (bc->orig_bio, bc->error);
+#endif
 	mempool_free (bc, tc->bio_ctx_pool);
 }
 
@@ -417,24 +421,35 @@ static void work_process (void *qdata)
 }
 
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)
 static int truecrypt_endio (struct bio *bio, unsigned int bytes_done, int error)
+#else
+static int truecrypt_endio (struct bio *bio, int error)
+#endif
 {
 	struct bio_ctx *bc = (struct bio_ctx *) bio->bi_private;
 	struct target_ctx *tc = (struct target_ctx *) bc->target->private;
 	struct bio_vec *bv;
 	int seg_no;
 	
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)
 	trace (1, "end: sc=%llu fl=%ld rw=%ld sz=%d ix=%hd vc=%hd dn=%d er=%d\n",
 		(unsigned long long) bio->bi_sector, bio->bi_flags, bio->bi_rw, bio->bi_size, bio->bi_idx, bio->bi_vcnt, bytes_done, error);
+#else
+	trace (1, "end: sc=%llu fl=%ld sz=%ld rw=%ld ix=%hd vc=%hd er=%d\n",
+		(unsigned long long) bio->bi_sector, bio->bi_flags, bio->bi_size, bio->bi_rw, bio->bi_idx, bio->bi_vcnt, error);
+#endif
 
 	if (error != 0)
 		bc->error = error;
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)
 	if (bio->bi_size)
 	{
 		trace (2, "Outstanding IO: %d\n", bio->bi_size);
 		return 1;
 	}
+#endif
 
 	if (bio_data_dir (bio) == READ)
 	{