mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-26 03:09:34 +03:00
- Add some more missing headers
- Map the LE/BE_* byteorder macros to the linux versions - More minor vnodes fixes git-svn-id: https://outreach.scidac.gov/svn/spl/trunk@41 7e1ea52c-4ff2-0310-8f11-9dd32ca42a1c
This commit is contained in:
parent
2f5d55aac5
commit
36e6f86146
@ -1,4 +1,13 @@
|
|||||||
#ifndef _SPL_ZMOD_H
|
#ifndef _SPL_BYTEORDER_H
|
||||||
#define _SPL_ZMOD_H
|
#define _SPL_BYTEORDER_H
|
||||||
|
|
||||||
#endif /* SPL_ZMOD_H */
|
#include <asm/byteorder.h>
|
||||||
|
|
||||||
|
#define LE_16(x) cpu_to_le16(x)
|
||||||
|
#define LE_32(x) cpu_to_le32(x)
|
||||||
|
#define LE_64(x) cpu_to_le64(x)
|
||||||
|
#define BE_16(x) cpu_to_be16(x)
|
||||||
|
#define BE_32(x) cpu_to_be32(x)
|
||||||
|
#define BE_64(x) cpu_to_be64(x)
|
||||||
|
|
||||||
|
#endif /* SPL_BYTEORDER_H */
|
||||||
|
4
include/sys/fm/protocol.h
Normal file
4
include/sys/fm/protocol.h
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
#ifndef _SPL_FM_PROTOCOL_H
|
||||||
|
#define _SPL_FM_PROTOCOL_H
|
||||||
|
|
||||||
|
#endif /* _SPL_FM_PROTOCOL_H */
|
4
include/sys/fm/util.h
Normal file
4
include/sys/fm/util.h
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
#ifndef _SPL_FM_UTIL_H
|
||||||
|
#define _SPL_FM_UTIL_H
|
||||||
|
|
||||||
|
#endif /* _SPL_FM_UTIL_H */
|
4
include/sys/sysevent.h
Normal file
4
include/sys/sysevent.h
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
#ifndef _SPL_SYSEVENT_H
|
||||||
|
#define _SPL_SYSEVENT_H
|
||||||
|
|
||||||
|
#endif /* _SPL_SYSEVENT_H */
|
@ -1,235 +1,4 @@
|
|||||||
/*
|
|
||||||
* CDDL HEADER START
|
|
||||||
*
|
|
||||||
* The contents of this file are subject to the terms of the
|
|
||||||
* Common Development and Distribution License (the "License").
|
|
||||||
* You may not use this file except in compliance with the License.
|
|
||||||
*
|
|
||||||
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
|
||||||
* or http://www.opensolaris.org/os/licensing.
|
|
||||||
* See the License for the specific language governing permissions
|
|
||||||
* and limitations under the License.
|
|
||||||
*
|
|
||||||
* When distributing Covered Code, include this CDDL HEADER in each
|
|
||||||
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
|
||||||
* If applicable, add the following below this CDDL HEADER, with the
|
|
||||||
* fields enclosed by brackets "[]" replaced with your own identifying
|
|
||||||
* information: Portions Copyright [yyyy] [name of copyright owner]
|
|
||||||
*
|
|
||||||
* CDDL HEADER END
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
|
|
||||||
* Use is subject to license terms.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _SPL_SYSEVENT_EVENTDEFS_H
|
#ifndef _SPL_SYSEVENT_EVENTDEFS_H
|
||||||
#define _SPL_SYSEVENT_EVENTDEFS_H
|
#define _SPL_SYSEVENT_EVENTDEFS_H
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* eventdefs.h contains public definitions for sysevent types (classes
|
|
||||||
* and subclasses). All additions/removal/changes are subject
|
|
||||||
* to PSARC approval.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Sysevent Class definitions */
|
|
||||||
#define EC_NONE "EC_none"
|
|
||||||
#define EC_PRIV "EC_priv"
|
|
||||||
#define EC_PLATFORM "EC_platform" /* events private to platform */
|
|
||||||
#define EC_DR "EC_dr" /* Dynamic reconfiguration event class */
|
|
||||||
#define EC_ENV "EC_env" /* Environmental monitor event class */
|
|
||||||
#define EC_DOMAIN "EC_domain" /* Domain event class */
|
|
||||||
#define EC_AP_DRIVER "EC_ap_driver" /* Alternate Pathing event class */
|
|
||||||
#define EC_IPMP "EC_ipmp" /* IP Multipathing event class */
|
|
||||||
#define EC_DEV_ADD "EC_dev_add" /* device add event class */
|
|
||||||
#define EC_DEV_REMOVE "EC_dev_remove" /* device remove event class */
|
|
||||||
#define EC_DEV_BRANCH "EC_dev_branch" /* device tree branch event class */
|
|
||||||
#define EC_FM "EC_fm" /* FMA error report event */
|
|
||||||
#define EC_ZFS "EC_zfs" /* ZFS event */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The following event class is reserved for exclusive use
|
|
||||||
* by Sun Cluster software.
|
|
||||||
*/
|
|
||||||
#define EC_CLUSTER "EC_Cluster"
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The following classes are exclusively reserved for use by the
|
|
||||||
* Solaris Volume Manager (SVM)
|
|
||||||
*/
|
|
||||||
#define EC_SVM_CONFIG "EC_SVM_Config"
|
|
||||||
#define EC_SVM_STATE "EC_SVM_State"
|
|
||||||
|
|
||||||
/*
|
|
||||||
* EC_SVM_CONFIG subclass definitions - supporting attributes (name/value pairs)
|
|
||||||
* are found in sys/sysevent/svm.h
|
|
||||||
*/
|
|
||||||
#define ESC_SVM_CREATE "ESC_SVM_Create"
|
|
||||||
#define ESC_SVM_DELETE "ESC_SVM_Delete"
|
|
||||||
#define ESC_SVM_ADD "ESC_SVM_Add"
|
|
||||||
#define ESC_SVM_REMOVE "ESC_SVM_Remove"
|
|
||||||
#define ESC_SVM_REPLACE "ESC_SVM_Replace"
|
|
||||||
#define ESC_SVM_GROW "ESC_SVM_Grow"
|
|
||||||
#define ESC_SVM_RENAME_SRC "ESC_SVM_Rename_Src"
|
|
||||||
#define ESC_SVM_RENAME_DST "ESC_SVM_Rename_Dst"
|
|
||||||
#define ESC_SVM_MEDIATOR_ADD "ESC_SVM_Mediator_Add"
|
|
||||||
#define ESC_SVM_MEDIATOR_DELETE "ESC_SVM_Mediator_Delete"
|
|
||||||
#define ESC_SVM_HOST_ADD "ESC_SVM_Host_Add"
|
|
||||||
#define ESC_SVM_HOST_DELETE "ESC_SVM_Host_Delete"
|
|
||||||
#define ESC_SVM_DRIVE_ADD "ESC_SVM_Drive_Add"
|
|
||||||
#define ESC_SVM_DRIVE_DELETE "ESC_SVM_Drive_Delete"
|
|
||||||
#define ESC_SVM_DETACH "ESC_SVM_Detach"
|
|
||||||
#define ESC_SVM_DETACHING "ESC_SVM_Detaching"
|
|
||||||
#define ESC_SVM_ATTACH "ESC_SVM_Attach"
|
|
||||||
#define ESC_SVM_ATTACHING "ESC_SVM_Attaching"
|
|
||||||
|
|
||||||
/*
|
|
||||||
* EC_SVM_STATE subclass definitions - supporting attributes (name/value pairs)
|
|
||||||
* are found in sys/sysevent/svm.h
|
|
||||||
*/
|
|
||||||
#define ESC_SVM_INIT_START "ESC_SVM_Init_Start"
|
|
||||||
#define ESC_SVM_INIT_FAILED "ESC_SVM_Init_Failed"
|
|
||||||
#define ESC_SVM_INIT_FATAL "ESC_SVM_Init_Fatal"
|
|
||||||
#define ESC_SVM_INIT_SUCCESS "ESC_SVM_Init_Success"
|
|
||||||
#define ESC_SVM_IOERR "ESC_SVM_Ioerr"
|
|
||||||
#define ESC_SVM_ERRED "ESC_SVM_Erred"
|
|
||||||
#define ESC_SVM_LASTERRED "ESC_SVM_Lasterred"
|
|
||||||
#define ESC_SVM_OK "ESC_SVM_Ok"
|
|
||||||
#define ESC_SVM_ENABLE "ESC_SVM_Enable"
|
|
||||||
#define ESC_SVM_RESYNC_START "ESC_SVM_Resync_Start"
|
|
||||||
#define ESC_SVM_RESYNC_FAILED "ESC_SVM_Resync_Failed"
|
|
||||||
#define ESC_SVM_RESYNC_SUCCESS "ESC_SVM_Resync_Success"
|
|
||||||
#define ESC_SVM_RESYNC_DONE "ESC_SVM_Resync_Done"
|
|
||||||
#define ESC_SVM_HOTSPARED "ESC_SVM_Hotspared"
|
|
||||||
#define ESC_SVM_HS_FREED "ESC_SVM_HS_Freed"
|
|
||||||
#define ESC_SVM_HS_CHANGED "ESC_SVM_HS_Changed"
|
|
||||||
#define ESC_SVM_TAKEOVER "ESC_SVM_Takeover"
|
|
||||||
#define ESC_SVM_RELEASE "ESC_SVM_Release"
|
|
||||||
#define ESC_SVM_OPEN_FAIL "ESC_SVM_Open_Fail"
|
|
||||||
#define ESC_SVM_OFFLINE "ESC_SVM_Offline"
|
|
||||||
#define ESC_SVM_ONLINE "ESC_SVM_Online"
|
|
||||||
#define ESC_SVM_CHANGE "ESC_SVM_Change"
|
|
||||||
#define ESC_SVM_EXCHANGE "ESC_SVM_Exchange"
|
|
||||||
#define ESC_SVM_REGEN_START "ESC_SVM_Regen_Start"
|
|
||||||
#define ESC_SVM_REGEN_DONE "ESC_SVM_Regen_Done"
|
|
||||||
#define ESC_SVM_REGEN_FAILED "ESC_SVM_Regen_Failed"
|
|
||||||
|
|
||||||
/*
|
|
||||||
* EC_DR subclass definitions - supporting attributes (name/value pairs)
|
|
||||||
* are found in sys/sysevent/dr.h
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Attachment point state change */
|
|
||||||
#define ESC_DR_AP_STATE_CHANGE "ESC_dr_ap_state_change"
|
|
||||||
#define ESC_DR_REQ "ESC_dr_req" /* Request DR */
|
|
||||||
#define ESC_DR_TARGET_STATE_CHANGE "ESC_dr_target_state_change"
|
|
||||||
|
|
||||||
/*
|
|
||||||
* EC_ENV subclass definitions - supporting attributes (name/value pairs)
|
|
||||||
* are found in sys/sysevent/env.h
|
|
||||||
*/
|
|
||||||
#define ESC_ENV_TEMP "ESC_env_temp" /* Temperature change event subclass */
|
|
||||||
#define ESC_ENV_FAN "ESC_env_fan" /* Fan status change event subclass */
|
|
||||||
#define ESC_ENV_POWER "ESC_env_power" /* Power supply change event subclass */
|
|
||||||
#define ESC_ENV_LED "ESC_env_led" /* LED change event subclass */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* EC_DOMAIN subclass definitions - supporting attributes (name/value pairs)
|
|
||||||
* are found in sys/sysevent/domain.h
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Domain state change */
|
|
||||||
#define ESC_DOMAIN_STATE_CHANGE "ESC_domain_state_change"
|
|
||||||
/* Domain loghost name change */
|
|
||||||
#define ESC_DOMAIN_LOGHOST_CHANGE "ESC_domain_loghost_change"
|
|
||||||
|
|
||||||
/*
|
|
||||||
* EC_AP_DRIVER subclass definitions - supporting attributes (name/value pairs)
|
|
||||||
* are found in sys/sysevent/ap_driver.h
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Alternate Pathing path switch */
|
|
||||||
#define ESC_AP_DRIVER_PATHSWITCH "ESC_ap_driver_pathswitch"
|
|
||||||
/* Alternate Pathing database commit */
|
|
||||||
#define ESC_AP_DRIVER_COMMIT "ESC_ap_driver_commit"
|
|
||||||
/* Alternate Pathing physical path status change */
|
|
||||||
#define ESC_AP_DRIVER_PHYS_PATH_STATUS_CHANGE \
|
|
||||||
"ESC_ap_driver_phys_path_status_change"
|
|
||||||
|
|
||||||
/*
|
|
||||||
* EC_IPMP subclass definitions - supporting attributes (name/value pairs)
|
|
||||||
* are found in sys/sysevent/ipmp.h
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* IPMP group has changed state */
|
|
||||||
#define ESC_IPMP_GROUP_STATE "ESC_ipmp_group_state"
|
|
||||||
|
|
||||||
/* IPMP group has been created or removed */
|
|
||||||
#define ESC_IPMP_GROUP_CHANGE "ESC_ipmp_group_change"
|
|
||||||
|
|
||||||
/* IPMP group has had an interface added or removed */
|
|
||||||
#define ESC_IPMP_GROUP_MEMBER_CHANGE "ESC_ipmp_group_member_change"
|
|
||||||
|
|
||||||
/* Interface within an IPMP group has changed state or type */
|
|
||||||
#define ESC_IPMP_IF_CHANGE "ESC_ipmp_if_change"
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* EC_DEV_ADD and EC_DEV_REMOVE subclass definitions - supporting attributes
|
|
||||||
* (name/value pairs) are found in sys/sysevent/dev.h
|
|
||||||
*/
|
|
||||||
#define ESC_DISK "disk" /* disk device */
|
|
||||||
#define ESC_NETWORK "network" /* network interface */
|
|
||||||
#define ESC_PRINTER "printer" /* printer device */
|
|
||||||
#define ESC_LOFI "lofi" /* lofi device */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* EC_DEV_BRANCH subclass definitions - supporting attributes (name/value pairs)
|
|
||||||
* are found in sys/sysevent/dev.h
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* device tree branch added */
|
|
||||||
#define ESC_DEV_BRANCH_ADD "ESC_dev_branch_add"
|
|
||||||
|
|
||||||
/* device tree branch removed */
|
|
||||||
#define ESC_DEV_BRANCH_REMOVE "ESC_dev_branch_remove"
|
|
||||||
|
|
||||||
/* FMA Fault and Error event protocol subclass */
|
|
||||||
#define ESC_FM_ERROR "ESC_FM_error"
|
|
||||||
#define ESC_FM_ERROR_REPLAY "ESC_FM_error_replay"
|
|
||||||
|
|
||||||
/* Service processor subclass definitions */
|
|
||||||
#define ESC_PLATFORM_SP_RESET "ESC_platform_sp_reset"
|
|
||||||
|
|
||||||
/*
|
|
||||||
* EC_ACPIEV subclass definitions
|
|
||||||
*/
|
|
||||||
#define EC_ACPIEV "EC_acpiev"
|
|
||||||
#define ESC_ACPIEV_ADD "ESC_acpiev_add"
|
|
||||||
#define ESC_ACPIEV_REMOVE "ESC_acpiev_remove"
|
|
||||||
#define ESC_ACPIEV_WARN "ESC_acpiev_warn"
|
|
||||||
#define ESC_ACPIEV_LOW "ESC_acpiev_low"
|
|
||||||
#define ESC_ACPIEV_STATE_CHANGE "ESC_acpiev_state_change"
|
|
||||||
|
|
||||||
/*
|
|
||||||
* ZFS subclass definitions. supporting attributes (name/value paris) are found
|
|
||||||
* in sys/fs/zfs.h
|
|
||||||
*/
|
|
||||||
#define ESC_ZFS_RESILVER_START "ESC_ZFS_resilver_start"
|
|
||||||
#define ESC_ZFS_RESILVER_FINISH "ESC_ZFS_resilver_finish"
|
|
||||||
#define ESC_ZFS_VDEV_REMOVE "ESC_ZFS_vdev_remove"
|
|
||||||
#define ESC_ZFS_POOL_DESTROY "ESC_ZFS_pool_destroy"
|
|
||||||
#define ESC_ZFS_VDEV_CLEAR "ESC_ZFS_vdev_clear"
|
|
||||||
#define ESC_ZFS_VDEV_CHECK "ESC_ZFS_vdev_check"
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* _SPL_SYSEVENT_EVENTDEFS_H */
|
#endif /* _SPL_SYSEVENT_EVENTDEFS_H */
|
||||||
|
@ -7,6 +7,7 @@ extern "C" {
|
|||||||
|
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <sys/varargs.h>
|
#include <sys/varargs.h>
|
||||||
|
#include <sys/zone.h>
|
||||||
|
|
||||||
#ifndef _KERNEL
|
#ifndef _KERNEL
|
||||||
#define _KERNEL __KERNEL__
|
#define _KERNEL __KERNEL__
|
||||||
@ -121,8 +122,6 @@ extern int ddi_strtoul(const char *hw_serial, char **nptr,
|
|||||||
int base, unsigned long *result);
|
int base, unsigned long *result);
|
||||||
|
|
||||||
#define makedevice(maj,min) makedev(maj,min)
|
#define makedevice(maj,min) makedev(maj,min)
|
||||||
#define zone_dataset_visible(x, y) (1)
|
|
||||||
#define INGLOBALZONE(z) (1)
|
|
||||||
|
|
||||||
/* common macros */
|
/* common macros */
|
||||||
#ifndef MIN
|
#ifndef MIN
|
||||||
|
@ -16,6 +16,8 @@
|
|||||||
#define XVA_MAPSIZE 3
|
#define XVA_MAPSIZE 3
|
||||||
#define XVA_MAGIC 0x78766174
|
#define XVA_MAGIC 0x78766174
|
||||||
|
|
||||||
|
#define O_DSYNC 040000000
|
||||||
|
|
||||||
#define FREAD 1
|
#define FREAD 1
|
||||||
#define FWRITE 2
|
#define FWRITE 2
|
||||||
#define FCREAT O_CREAT
|
#define FCREAT O_CREAT
|
||||||
@ -52,6 +54,9 @@
|
|||||||
#define CRCREAT 0x01
|
#define CRCREAT 0x01
|
||||||
#define RMFILE 0x02
|
#define RMFILE 0x02
|
||||||
|
|
||||||
|
#define B_INVAL 0x01
|
||||||
|
#define B_TRUNC 0x02
|
||||||
|
|
||||||
typedef enum vtype {
|
typedef enum vtype {
|
||||||
VNON = 0,
|
VNON = 0,
|
||||||
VREG = 1,
|
VREG = 1,
|
||||||
@ -74,6 +79,7 @@ typedef struct vnode {
|
|||||||
|
|
||||||
typedef struct vattr {
|
typedef struct vattr {
|
||||||
enum vtype va_type; /* vnode type */
|
enum vtype va_type; /* vnode type */
|
||||||
|
u_int va_mask; /* attribute bit-mask */
|
||||||
u_short va_mode; /* acc mode */
|
u_short va_mode; /* acc mode */
|
||||||
short va_uid; /* owner uid */
|
short va_uid; /* owner uid */
|
||||||
short va_gid; /* owner gid */
|
short va_gid; /* owner gid */
|
||||||
@ -89,7 +95,6 @@ typedef struct vattr {
|
|||||||
long va_blocks; /* space used */
|
long va_blocks; /* space used */
|
||||||
} vattr_t;
|
} vattr_t;
|
||||||
|
|
||||||
#if 0
|
|
||||||
typedef struct xoptattr {
|
typedef struct xoptattr {
|
||||||
timestruc_t xoa_createtime; /* Create time of file */
|
timestruc_t xoa_createtime; /* Create time of file */
|
||||||
uint8_t xoa_archive;
|
uint8_t xoa_archive;
|
||||||
@ -124,7 +129,6 @@ typedef struct vsecattr {
|
|||||||
void *vsa_dfaclentp; /* pointer to default ACL entries */
|
void *vsa_dfaclentp; /* pointer to default ACL entries */
|
||||||
size_t vsa_aclentsz; /* ACE size in bytes of vsa_aclentp */
|
size_t vsa_aclentsz; /* ACE size in bytes of vsa_aclentp */
|
||||||
} vsecattr_t;
|
} vsecattr_t;
|
||||||
#endif
|
|
||||||
|
|
||||||
extern int vn_open(const char *path, int seg, int flags, int mode,
|
extern int vn_open(const char *path, int seg, int flags, int mode,
|
||||||
vnode_t **vpp, int x1, void *x2);
|
vnode_t **vpp, int x1, void *x2);
|
||||||
@ -136,14 +140,26 @@ extern int vn_rdwr(uio_rw_t uio, vnode_t *vp, void *addr, ssize_t len,
|
|||||||
extern int vn_close(vnode_t *vp, int flags, int x1, int x2, void *x3, void *x4);
|
extern int vn_close(vnode_t *vp, int flags, int x1, int x2, void *x3, void *x4);
|
||||||
extern int vn_remove(const char *path, int seg, int flags);
|
extern int vn_remove(const char *path, int seg, int flags);
|
||||||
extern int vn_rename(const char *path1, const char *path2, int x1);
|
extern int vn_rename(const char *path1, const char *path2, int x1);
|
||||||
extern int vn_getattr(vnode_t *vp, vattr_t *vap, int flags, int x3, void *x4);
|
extern int vn_getattr(vnode_t *vp, vattr_t *vap, int flags, void *x3, void *x4);
|
||||||
extern int vn_fsync(vnode_t *vp, int flags, void *x3, void *x4);
|
extern int vn_fsync(vnode_t *vp, int flags, void *x3, void *x4);
|
||||||
|
|
||||||
|
static __inline__ int
|
||||||
|
vn_rele(vnode_t *vp)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
} /* vn_rele() */
|
||||||
|
|
||||||
|
static __inline__ int
|
||||||
|
vn_putpage(vnode_t *vp, offset_t off, ssize_t size,
|
||||||
|
int flags, void *x1, void *x2) {
|
||||||
|
return 0;
|
||||||
|
} /* vn_putpage() */
|
||||||
|
|
||||||
#define VOP_CLOSE vn_close
|
#define VOP_CLOSE vn_close
|
||||||
#define VN_RELE(vp)
|
#define VN_RELE vn_rele
|
||||||
#define VOP_GETATTR vn_getattr
|
#define VOP_GETATTR vn_getattr
|
||||||
#define VOP_FSYNC vn_fsync
|
#define VOP_FSYNC vn_fsync
|
||||||
#define VOP_PUTPAGE(vp, of, sz, fl, cr, ct)
|
#define VOP_PUTPAGE vn_putpage
|
||||||
#define vn_is_readonly(vp) 0
|
#define vn_is_readonly(vp) 0
|
||||||
|
|
||||||
extern void *rootdir;
|
extern void *rootdir;
|
||||||
|
9
include/sys/zone.h
Normal file
9
include/sys/zone.h
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#ifndef _SPL_ZONE_H
|
||||||
|
#define _SPL_ZONE_H
|
||||||
|
|
||||||
|
#include <sys/byteorder.h>
|
||||||
|
|
||||||
|
#define zone_dataset_visible(x, y) (1)
|
||||||
|
#define INGLOBALZONE(z) (1)
|
||||||
|
|
||||||
|
#endif /* SPL_ZONE_H */
|
@ -313,7 +313,7 @@ exit:
|
|||||||
EXPORT_SYMBOL(vn_rename);
|
EXPORT_SYMBOL(vn_rename);
|
||||||
|
|
||||||
int
|
int
|
||||||
vn_getattr(vnode_t *vp, vattr_t *vap, int flags, int x3, void *x4)
|
vn_getattr(vnode_t *vp, vattr_t *vap, int flags, void *x3, void *x4)
|
||||||
{
|
{
|
||||||
struct file *fp;
|
struct file *fp;
|
||||||
struct kstat stat;
|
struct kstat stat;
|
||||||
@ -353,9 +353,14 @@ EXPORT_SYMBOL(vn_getattr);
|
|||||||
|
|
||||||
int vn_fsync(vnode_t *vp, int flags, void *x3, void *x4)
|
int vn_fsync(vnode_t *vp, int flags, void *x3, void *x4)
|
||||||
{
|
{
|
||||||
|
int datasync = 0;
|
||||||
|
|
||||||
BUG_ON(!vp);
|
BUG_ON(!vp);
|
||||||
BUG_ON(!vp->v_fp);
|
BUG_ON(!vp->v_fp);
|
||||||
|
|
||||||
return file_fsync(vp->v_fp, vp->v_fp->f_dentry, 0);
|
if (flags & FDSYNC)
|
||||||
|
datasync = 1;
|
||||||
|
|
||||||
|
return file_fsync(vp->v_fp, vp->v_fp->f_dentry, datasync);
|
||||||
} /* vn_fsync() */
|
} /* vn_fsync() */
|
||||||
EXPORT_SYMBOL(vn_fsync);
|
EXPORT_SYMBOL(vn_fsync);
|
||||||
|
Loading…
Reference in New Issue
Block a user