diff options
-rw-r--r-- | app-crypt/truecrypt/ChangeLog | 6 | ||||
-rw-r--r-- | app-crypt/truecrypt/files/truecrypt-4.3a-2.6.24.patch | 46 |
2 files changed, 46 insertions, 6 deletions
diff --git a/app-crypt/truecrypt/ChangeLog b/app-crypt/truecrypt/ChangeLog index 6ac38d8cd1dd..85aecdf349d5 100644 --- a/app-crypt/truecrypt/ChangeLog +++ b/app-crypt/truecrypt/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for app-crypt/truecrypt # Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-crypt/truecrypt/ChangeLog,v 1.27 2007/12/15 18:33:50 alonbl Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-crypt/truecrypt/ChangeLog,v 1.28 2007/12/25 21:01:31 alonbl Exp $ + + 25 Dec 2007; Alon Bar-Lev <alonbl@gentoo.org> + files/truecrypt-4.3a-2.6.24.patch: + Modify 2.6.24 fix, bug#198394, thanks to elschner.net 15 Dec 2007; Alon Bar-Lev <alonbl@gentoo.org> +files/truecrypt-4.3a-2.6.24.patch, truecrypt-4.3a.ebuild: diff --git a/app-crypt/truecrypt/files/truecrypt-4.3a-2.6.24.patch b/app-crypt/truecrypt/files/truecrypt-4.3a-2.6.24.patch index 55b0c5a1c477..eec4aa8bdb9a 100644 --- a/app-crypt/truecrypt/files/truecrypt-4.3a-2.6.24.patch +++ b/app-crypt/truecrypt/files/truecrypt-4.3a-2.6.24.patch @@ -1,15 +1,51 @@ ---- truecrypt-4.3a-source-code.org/Linux/Kernel/Dm-target.c 2007-04-24 18:32:06.000000000 +0200 -+++ truecrypt-4.3a-source-code/Linux/Kernel/Dm-target.c 2007-12-15 18:22:39.000000000 +0100 -@@ -375,7 +375,12 @@ static void dereference_bio_ctx (struct +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->orig_bio->bi_size); ++ 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) + { |