]>
git.proxmox.com Git - mirror_zfs-debian.git/blob - include/sys/zfs_vnops.h
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
22 * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
25 #ifndef _SYS_FS_ZFS_VNOPS_H
26 #define _SYS_FS_ZFS_VNOPS_H
28 #include <sys/vnode.h>
31 #include <sys/fcntl.h>
32 #include <sys/pathname.h>
38 extern int zfs_read(struct inode
*ip
, uio_t
*uio
, int ioflag
, cred_t
*cr
);
39 extern int zfs_write(struct inode
*ip
, uio_t
*uio
, int ioflag
, cred_t
*cr
);
40 extern int zfs_access(struct inode
*ip
, int mode
, int flag
, cred_t
*cr
);
41 extern int zfs_lookup(struct inode
*dip
, char *nm
, struct inode
**ipp
,
42 int flags
, cred_t
*cr
, int *direntflags
, pathname_t
*realpnp
);
43 extern int zfs_create(struct inode
*dip
, char *name
, vattr_t
*vap
, int excl
,
44 int mode
, struct inode
**ipp
, cred_t
*cr
, int flag
, vsecattr_t
*vsecp
);
45 extern int zfs_remove(struct inode
*dip
, char *name
, cred_t
*cr
);
46 extern int zfs_mkdir(struct inode
*dip
, char *dirname
, vattr_t
*vap
,
47 struct inode
**ipp
, cred_t
*cr
, int flags
, vsecattr_t
*vsecp
);
48 extern int zfs_rmdir(struct inode
*dip
, char *name
, struct inode
*cwd
,
49 cred_t
*cr
, int flags
);
50 extern int zfs_readdir(struct inode
*ip
, void *dirent
, filldir_t filldir
,
51 loff_t
*pos
, cred_t
*cr
);
52 extern int zfs_fsync(struct inode
*ip
, int syncflag
, cred_t
*cr
);
53 extern int zfs_getattr(struct inode
*ip
, struct kstat
*stat
, int flag
,
55 extern int zfs_setattr(struct inode
*ip
, struct iattr
*attr
, int flag
,
57 extern int zfs_rename(struct inode
*sdip
, char *snm
, struct inode
*tdip
,
58 char *tnm
, cred_t
*cr
, int flags
);
59 extern int zfs_symlink(struct inode
*dip
, char *name
, vattr_t
*vap
,
60 char *link
, struct inode
**ipp
, cred_t
*cr
, int flags
);
61 extern int zfs_follow_link(struct dentry
*dentry
, struct nameidata
*nd
);
62 extern int zfs_readlink(struct inode
*ip
, uio_t
*uio
, cred_t
*cr
);
63 extern int zfs_link(struct inode
*tdip
, struct inode
*sip
,
64 char *name
, cred_t
*cr
);
65 extern void zfs_inactive(struct inode
*ip
);
66 extern int zfs_space(struct inode
*ip
, int cmd
, flock64_t
*bfp
, int flag
,
67 offset_t offset
, cred_t
*cr
);
68 extern int zfs_fid(struct inode
*ip
, fid_t
*fidp
);
69 extern int zfs_getsecattr(struct inode
*ip
, vsecattr_t
*vsecp
, int flag
,
71 extern int zfs_setsecattr(struct inode
*ip
, vsecattr_t
*vsecp
, int flag
,
78 #endif /* _SYS_FS_ZFS_VNOPS_H */