[arch-commits] Commit in virtualbox/trunk (PKGBUILD linux-3.11.patch)
Ionuț Mircea Bîru
ioni at nymeria.archlinux.org
Tue Sep 3 13:26:31 UTC 2013
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)
More information about the arch-commits
mailing list