Date: Tuesday, September 3, 2013 @ 15:26:31 Author: ioni Revision: 96723
linux 3.11 Added: virtualbox/trunk/linux-3.11.patch Modified: virtualbox/trunk/PKGBUILD ------------------+ PKGBUILD | 8 ++++--- linux-3.11.patch | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+), 3 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2013-09-03 12:48:13 UTC (rev 96722) +++ PKGBUILD 2013-09-03 13:26:31 UTC (rev 96723) @@ -10,7 +10,7 @@ 'virtualbox-guest-utils' 'virtualbox-ext-vnc') pkgver=4.2.16 -pkgrel=1 +pkgrel=2 arch=('i686' 'x86_64') url='http://virtualbox.org' license=('GPL' 'custom') @@ -55,7 +55,8 @@ 'vboxweb.service' '001-vboxdrv-reference.patch' '002-change_default_driver_dir.patch' - '004-system-xorg.patch') + '004-system-xorg.patch' + 'linux-3.11.patch') md5sums=('c4a36e2099a317f4715cd3861cdae238' '5f85710e0b8606de967716ded7b2d351' 'ed1341881437455d9735875ddf455fbe' @@ -64,7 +65,8 @@ 'bc9efed88e0469cd7fc460d5a5cd7b4b' '6dbd16b9d1530fc42ff6904cd80be91d' '97e193f050574dd272a38e5ee5ebe62b' - '4da461f8c90caa123b47c62479f426b4') + '4da461f8c90caa123b47c62479f426b4' + 'b3ed99c214dd6d02e88c855914353e64') prepare() { cd "VirtualBox-$pkgver" Added: linux-3.11.patch =================================================================== --- linux-3.11.patch (rev 0) +++ linux-3.11.patch 2013-09-03 13:26:31 UTC (rev 96723) @@ -0,0 +1,60 @@ +diff -Nur VirtualBox-4.2.16.orig/src/VBox/Additions/linux/sharedfolders/dirops.c VirtualBox-4.2.16/src/VBox/Additions/linux/sharedfolders/dirops.c +--- VirtualBox-4.2.16.orig/src/VBox/Additions/linux/sharedfolders/dirops.c 2013-07-04 13:59:34.000000000 +0000 ++++ VirtualBox-4.2.16/src/VBox/Additions/linux/sharedfolders/dirops.c 2013-09-03 13:21:25.314389481 +0000 +@@ -233,7 +233,11 @@ + * b. failure to compute fake inode number + * c. filldir returns an error (see comment on that) + */ ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 11, 0) ++static int sf_dir_iterate(struct file *dir, struct dir_context *ctx) ++#else + static int sf_dir_read (struct file *dir, void *opaque, filldir_t filldir) ++#endif + { + TRACE(); + for (;;) +@@ -257,12 +261,18 @@ + /* skip erroneous entry and proceed */ + LogFunc(("sf_getdent error %d\n", err)); + dir->f_pos += 1; ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 11, 0) ++ ctx->pos += 1; ++#endif + continue; + } + + /* d_name now contains a valid entry name */ +- ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 11, 0) ++ sanity = ctx->pos + 0xbeef; ++#else + sanity = dir->f_pos + 0xbeef; ++#endif + fake_ino = sanity; + if (sanity - fake_ino) + { +@@ -270,8 +280,12 @@ + return -EINVAL; + } + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 11, 0) ++ err = dir_emit(ctx, d_name, strlen(d_name), fake_ino, DT_UNKNOWN); ++#else + err = filldir(opaque, d_name, strlen(d_name), + dir->f_pos, fake_ino, DT_UNKNOWN); ++#endif + if (err) + { + LogFunc(("filldir returned error %d\n", err)); +@@ -289,7 +303,11 @@ + struct file_operations sf_dir_fops = + { + .open = sf_dir_open, ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 11, 0) ++ .iterate = sf_dir_iterate, ++#else + .readdir = sf_dir_read, ++#endif + .release = sf_dir_release, + .read = generic_read_dir + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)