Missing headers, more minor fixes

git-svn-id: https://outreach.scidac.gov/svn/spl/trunk@48 7e1ea52c-4ff2-0310-8f11-9dd32ca42a1c
This commit is contained in:
behlendo 2008-03-15 00:05:38 +00:00
parent c19c06f3b0
commit 2bdb28fbe0
6 changed files with 50 additions and 3 deletions

0
include/dmu_config.h Normal file
View File

View File

@ -7,6 +7,7 @@ extern "C" {
#include <linux/module.h> #include <linux/module.h>
#include <sys/types.h> #include <sys/types.h>
#include <sys/vfs.h>
/* XXX - Portions commented out because we really just want to have the type /* XXX - Portions commented out because we really just want to have the type
* defined and the contents aren't nearly so important at the moment. */ * defined and the contents aren't nearly so important at the moment. */

4
include/sys/mount.h Normal file
View File

@ -0,0 +1,4 @@
#ifndef _SPL_MOUNT_H
#define _SPL_MOUNT_H
#endif /* SPL_MOUNT_H */

4
include/sys/sdt.h Normal file
View File

@ -0,0 +1,4 @@
#ifndef _SPL_SDT_H
#define _SPL_SDT_H
#endif /* SPL_SDT_H */

View File

@ -1,7 +1,7 @@
#ifndef _SPL_ZFS_H #ifndef _SPL_ZFS_H
#define _SPL_ZFS_H #define _SPL_ZFS_H
typedef struct vfs_s { typedef struct vfs {
int foo; int foo;
} vfs_t; } vfs_t;

View File

@ -3,6 +3,7 @@
#include <linux/mm.h> #include <linux/mm.h>
#include <sys/types.h> #include <sys/types.h>
#include <asm/uaccess.h>
extern vmem_t *zio_alloc_arena; /* arena for zio caches */ extern vmem_t *zio_alloc_arena; /* arena for zio caches */
@ -10,8 +11,45 @@ extern vmem_t *zio_alloc_arena; /* arena for zio caches */
#define ptob(pages) (pages * PAGE_SIZE) #define ptob(pages) (pages * PAGE_SIZE)
#define membar_producer() smp_wmb() #define membar_producer() smp_wmb()
#define copyin(from, to, size) copy_from_user(to, from, size) #define xcopyin(from, to, size) copy_from_user(to, from, size)
#define copyout(from, to, size) copy_to_user(to, from, size) #define xcopyout(from, to, size) copy_to_user(to, from, size)
static __inline__ int
copyin(const void *from, void *to, size_t len)
{
/* On error copyin routine returns -1 */
if (xcopyin(from, to, len))
return -1;
return 0;
}
static __inline__ int
copyout(const void *from, void *to, size_t len)
{
/* On error copyout routine returns -1 */
if (xcopyout(from, to, len))
return -1;
return 0;
}
static __inline__ int
copyinstr(const void *from, void *to, size_t len, size_t *done)
{
if (len == 0)
return -ENAMETOOLONG;
if (len < 0)
return -EFAULT;
/* XXX: Should return ENAMETOOLONG if 'strlen(from) > len' */
memset(to, 0, len);
*done = copyin(from, to, len - 1);
return 0;
}
#if 0 #if 0
/* The approximate total number of free pages */ /* The approximate total number of free pages */