socsvn commit: r255839 - soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/files
oleksandr at FreeBSD.org
oleksandr at FreeBSD.org
Mon Aug 12 11:33:32 UTC 2013
Author: oleksandr
Date: Mon Aug 12 11:33:32 2013
New Revision: 255839
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=255839
Log:
Delete unused include's and fixed operation with dirent structure
Modified:
soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/files/patch-src-VBox-Additions-freebsd.kmk
Modified: soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/files/patch-src-VBox-Additions-freebsd.kmk
==============================================================================
--- soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/files/patch-src-VBox-Additions-freebsd.kmk Mon Aug 12 10:15:09 2013 (r255838)
+++ soc2013/oleksandr/ports/emulators/virtualbox-ose-additions/files/patch-src-VBox-Additions-freebsd.kmk Mon Aug 12 11:33:32 2013 (r255839)
@@ -18,39 +18,13 @@
#include <sys/kernel.h>
#include <sys/sysctl.h>
#include <sys/vnode.h>
-@@ -29,10 +29,40 @@
+@@ -29,10 +29,14 @@
#include <sys/malloc.h>
#include <sys/module.h>
-#include <iprt/mem.h>
+#include "vboxvfs.h"
-+#if 0
-+#include <sys/types.h>
-+#include <sys/param.h>
-+#include <sys/systm.h>
-+#include <sys/uio.h>
-+#include <sys/bio.h>
-+#include <sys/buf.h>
-+#include <sys/conf.h>
-+#include <sys/dirent.h>
-+#include <sys/fcntl.h>
-+#include <sys/iconv.h>
-+#include <sys/kernel.h>
-+#include <sys/malloc.h>
-+#include <sys/mount.h>
-+#include <sys/namei.h>
-+#include <sys/priv.h>
-+#include <sys/proc.h>
-+#include <sys/queue.h>
-+#include <sys/vnode.h>
-+#include <sys/endian.h>
-+#include <geom/geom.h>
-+#include <geom/geom_vfs.h>
-+
-+#include <vm/uma.h>
-+#endif
-+
#define VFSMP2SFGLOBINFO(mp) ((struct sf_glob_info *)mp->mnt_data)
+#ifdef MALLOC_DECLARE
@@ -60,7 +34,7 @@
static int vboxvfs_version = VBOXVFS_VERSION;
SYSCTL_NODE(_vfs, OID_AUTO, vboxvfs, CTLFLAG_RW, 0, "VirtualBox shared filesystem");
-@@ -51,15 +81,15 @@
+@@ -51,15 +55,15 @@
static vfs_unmount_t vboxvfs_unmount;
static struct vfsops vboxvfs_vfsops = {
@@ -85,7 +59,7 @@
};
-@@ -66,193 +96,238 @@
+@@ -66,193 +70,239 @@
VFS_SET(vboxvfs_vfsops, vboxvfs, VFCF_NETWORK);
MODULE_DEPEND(vboxvfs, vboxguest, 1, 1, 1);
@@ -150,6 +124,7 @@
- printf("%s: Enter\n", __FUNCTION__);
+ printf("%s: Enter\n", __FUNCTION__);
++
- if (mp->mnt_flag & (MNT_UPDATE | MNT_ROOTFS))
- return EOPNOTSUPP;
@@ -536,10 +511,6 @@
- long nextino;
- int caseopt;
- int didrele;
-+#define DIRENT_RECLEN(namelen) \
-+ ((offsetof(dirent, d_name[0]) + 1 + (namelen) + 7) & ~ 7)
-+#define DIRENT_NAMELEN(reclen) \
-+ ((reclen) - (offsetof(dirent, d_name[0])))
+/*
+ * representation of an active mount point
+ */
@@ -645,11 +616,15 @@
+};
+
+struct vboxvfs_mount_info {
-+ char name[MAX_HOST_NAME];
-+ char nls_name[MAX_NLS_NAME];
-+ int uid;
-+ int gid;
-+ int ttl;
++ char name[MAX_HOST_NAME]; /* share name */
++ char nls_name[MAX_NLS_NAME];/* name of an I/O charset */
++ int uid; /* user ID for all entries, default 0=root */
++ int gid; /* group ID for all entries, default 0=root */
++ int ttl; /* time to live */
++ int dmode; /* mode for directories if != 0xffffffff */
++ int fmode; /* mode for regular files if != 0xffffffff */
++ int dmask; /* umask applied to directories */
++ int fmask; /* umask applied to regular files */
+};
+
struct sf_glob_info {
@@ -1949,7 +1924,7 @@
===================================================================
--- src/VBox/Additions/freebsd/vboxvfs/vboxvfs_prov.c (revision 0)
+++ src/VBox/Additions/freebsd/vboxvfs/vboxvfs_prov.c (working copy)
-@@ -0,0 +1,1009 @@
+@@ -0,0 +1,1015 @@
+/** @file
+ * VirtualBox File System for FreeBSD Guests, provider implementation.
+ * Portions contributed by: Ronald.
@@ -1991,6 +1966,12 @@
+#include <sys/dirent.h>
+#include "vboxvfs.h"
+
++#define DIRENT_RECLEN(namelen) ((sizeof(struct dirent) - \
++ sizeof(((struct dirent *)NULL)->d_name) + \
++ (namelen) + 1 + 7) & ~7)
++#define DIRENT_NAMELEN(reclen) \
++ (sizeof((reclen) - (sizeof(((struct dirent *)NULL)->d_name))))
++
+#define SFPROV_VERSION 1
+
+static VBSFCLIENT vbox_client;
@@ -2825,7 +2806,7 @@
+ int error;
+ char *cp;
+ int len;
-+ SHFLSTRING *mask_str = NULL; /* must be path with "/*" appended */
++ SHFLSTRING *mask_str = NULL; /* must be path with "/" appended */
+ int mask_size;
+ sfp_file_t *fp;
+ uint32_t infobuff_alloc = 16384;
@@ -2926,7 +2907,7 @@
+ strncpy(&dirent->sf_entry.d_name[0], info->name.String.utf8, DIRENT_NAMELEN(reclen));
+ dirent->sf_entry.d_reclen = reclen;
+ offset += entlen;
-+ dirent->sf_entry.d_off = offset;
++ //dirent->sf_entry.d_off = offset;
+
+ /* save the stats */
+ sfprov_stat_from_info(&dirent->sf_stat, &info->Info);
More information about the svn-soc-all
mailing list