Date: Thursday, February 21, 2013 @ 05:17:51 Author: foutrelis Revision: 84659
upgpkg: cdfs 2.6.27-38 Linux 3.8 rebuild; try to fix "cdfs: Unknown symbol kernel_thread (err 0)" error during modprobe. Modified: cdfs/trunk/PKGBUILD cdfs/trunk/cdfs-3.8.patch ----------------+ PKGBUILD | 4 ++-- cdfs-3.8.patch | 35 +++++++++++++++++++++++++++++++++-- 2 files changed, 35 insertions(+), 4 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2013-02-21 04:00:13 UTC (rev 84658) +++ PKGBUILD 2013-02-21 04:17:51 UTC (rev 84659) @@ -4,7 +4,7 @@ pkgname=cdfs pkgver=2.6.27 -pkgrel=37 +pkgrel=38 pkgdesc="File system module that 'exports' all tracks and boot images on a CD as normal files." arch=(i686 x86_64) url="http://www.elis.UGent.be/~ronsse/cdfs/" @@ -20,7 +20,7 @@ 'aba7da94a9dcbb8a93ea423cb6958fef' 'e934407b3460257a301822ffc4ab3933' '9215e7bdac728bd2f889fb525e543454' - 'fbc4592fc8d47e9a7b9db22da2acb8f8') + 'b036fd72b033294605bec2b60a73e3bd') _kernver=`pacman -Q linux | cut -d . -f 2 | cut -f 1 -d -` _kernverfull=`cat /usr/lib/modules/extramodules-3.${_kernver}-ARCH/version` Modified: cdfs-3.8.patch =================================================================== --- cdfs-3.8.patch 2013-02-21 04:00:13 UTC (rev 84658) +++ cdfs-3.8.patch 2013-02-21 04:17:51 UTC (rev 84659) @@ -1,6 +1,6 @@ diff -upr cdfs-2.6.27.orig/daemon.c cdfs-2.6.27/daemon.c ---- cdfs-2.6.27.orig/daemon.c 2013-02-21 05:51:10.000000000 +0200 -+++ cdfs-2.6.27/daemon.c 2013-02-21 05:56:55.000000000 +0200 +--- cdfs-2.6.27.orig/daemon.c 2009-12-21 16:02:50.000000000 +0200 ++++ cdfs-2.6.27/daemon.c 2013-02-21 06:14:45.000000000 +0200 @@ -158,7 +158,6 @@ int kcdfsd_thread(void *unused){ exit_files(current); /* daemonize doesn't do exit_files */ daemonize(); @@ -9,3 +9,34 @@ /* Allow SIGTERM to quit properly when removing module */ /* By default with daemonize all signals are dropped */ +diff -upr cdfs-2.6.27.orig/root.c cdfs-2.6.27/root.c +--- cdfs-2.6.27.orig/root.c 2009-12-21 15:38:31.000000000 +0200 ++++ cdfs-2.6.27/root.c 2013-02-21 06:15:20.000000000 +0200 +@@ -25,6 +25,7 @@ + #include "cdfs.h" + + #include <linux/module.h> ++#include <linux/kthread.h> + + + /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++* +@@ -643,14 +644,15 @@ static int __init cdfs_init(void) { + cdfs_proc_cd=NULL; + + // start kernel thread +- if ((kcdfsd_pid = kernel_thread(kcdfsd_thread, NULL, CLONE_FS | CLONE_FILES | CLONE_SIGHAND)) >0 ) { +- return 0; +- } else { +- printk(FSNAME" kernel_thread failed.\n"); ++ kcdfsd_pid = kthread_run(kcdfsd_thread, NULL, "kcdfsd_thread"); ++ if (IS_ERR(kcdfsd_pid)) { ++ printk(FSNAME" kthread_run failed.\n"); + if (cdfs_proc_entry) remove_proc_entry(FSNAME, NULL); + unregister_filesystem(&cdfs_fs_type); + return -1; + } ++ ++ return 0; + } + + /******************************************************************/
