Changeset View
Changeset View
Standalone View
Standalone View
sys/contrib/openzfs/include/sys/zfs_vnops.h
Show All 21 Lines | |||||
* Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. | * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. | ||||
*/ | */ | ||||
#ifndef _SYS_FS_ZFS_VNOPS_H | #ifndef _SYS_FS_ZFS_VNOPS_H | ||||
#define _SYS_FS_ZFS_VNOPS_H | #define _SYS_FS_ZFS_VNOPS_H | ||||
#include <sys/zfs_vnops_os.h> | #include <sys/zfs_vnops_os.h> | ||||
extern int zfs_fsync(znode_t *, int, cred_t *); | extern int zfs_fsync(znode_t *, int, cred_t *); | ||||
extern int zfs_read(znode_t *, uio_t *, int, cred_t *); | extern int zfs_read(znode_t *, zfs_uio_t *, int, cred_t *); | ||||
extern int zfs_write(znode_t *, uio_t *, int, cred_t *); | extern int zfs_write(znode_t *, zfs_uio_t *, int, cred_t *); | ||||
extern int zfs_holey(znode_t *, ulong_t, loff_t *); | extern int zfs_holey(znode_t *, ulong_t, loff_t *); | ||||
extern int zfs_access(znode_t *, int, int, cred_t *); | extern int zfs_access(znode_t *, int, int, cred_t *); | ||||
extern int zfs_getsecattr(znode_t *, vsecattr_t *, int, cred_t *); | extern int zfs_getsecattr(znode_t *, vsecattr_t *, int, cred_t *); | ||||
extern int zfs_setsecattr(znode_t *, vsecattr_t *, int, cred_t *); | extern int zfs_setsecattr(znode_t *, vsecattr_t *, int, cred_t *); | ||||
extern int mappedread(znode_t *, int, uio_t *); | extern int mappedread(znode_t *, int, zfs_uio_t *); | ||||
extern int mappedread_sf(znode_t *, int, uio_t *); | extern int mappedread_sf(znode_t *, int, zfs_uio_t *); | ||||
extern void update_pages(znode_t *, int64_t, int, objset_t *); | extern void update_pages(znode_t *, int64_t, int, objset_t *); | ||||
/* | /* | ||||
* Platform code that asynchronously drops zp's inode / vnode_t. | * Platform code that asynchronously drops zp's inode / vnode_t. | ||||
* | * | ||||
* Asynchronous dropping ensures that the caller will never drop the | * Asynchronous dropping ensures that the caller will never drop the | ||||
* last reference on an inode / vnode_t in the current context. | * last reference on an inode / vnode_t in the current context. | ||||
* Doing so while holding open a tx could result in a deadlock if | * Doing so while holding open a tx could result in a deadlock if | ||||
* the platform calls into filesystem again in the implementation | * the platform calls into filesystem again in the implementation | ||||
* of inode / vnode_t dropping (e.g. call from iput_final()). | * of inode / vnode_t dropping (e.g. call from iput_final()). | ||||
*/ | */ | ||||
extern void zfs_zrele_async(znode_t *zp); | extern void zfs_zrele_async(znode_t *zp); | ||||
extern zil_get_data_t zfs_get_data; | extern zil_get_data_t zfs_get_data; | ||||
#endif | #endif |