3 #include "xfs_vnodeops.h"
5 #include "xfs_bmap_btree.h"
13 return xfs_open(XFS_BHVTOI(bdp));
23 return xfs_getattr(XFS_BHVTOI(bdp), vap, flags);
33 return xfs_setattr(XFS_BHVTOI(bdp), vap, flags, credp);
42 return xfs_access(XFS_BHVTOI(bdp), mode, credp);
50 return xfs_readlink(XFS_BHVTOI(bdp), link);
61 return xfs_fsync(XFS_BHVTOI(bdp), flag, start, stop);
68 return xfs_release(XFS_BHVTOI(bdp));
76 return xfs_inactive(XFS_BHVTOI(bdp));
88 return xfs_lookup(XFS_BHVTOI(dir_bdp), dentry, vpp);
99 return xfs_create(XFS_BHVTOI(dir_bdp), dentry, vap, vpp, credp);
108 return xfs_remove(XFS_BHVTOI(dir_bdp), dentry);
113 bhv_desc_t *target_dir_bdp,
118 return xfs_link(XFS_BHVTOI(target_dir_bdp), src_vp, dentry);
129 return xfs_mkdir(XFS_BHVTOI(dir_bdp), dentry, vap, vpp, credp);
138 return xfs_rmdir(XFS_BHVTOI(dir_bdp), dentry);
149 return xfs_readdir(XFS_BHVTOI(dir_bdp), dirent, bufsize, offset, filldir);
161 return xfs_symlink(XFS_BHVTOI(dir_bdp), dentry, vap, target_path, vpp, credp);
169 return xfs_fid2(XFS_BHVTOI(bdp), fidp);
175 bhv_vrwlock_t locktype)
177 return xfs_rwlock(XFS_BHVTOI(bdp), locktype);
183 bhv_vrwlock_t locktype)
185 xfs_rwunlock(XFS_BHVTOI(bdp), locktype);
193 return xfs_inode_flush(XFS_BHVTOI(bdp), flags);
200 return xfs_reclaim(XFS_BHVTOI(bdp));
205 bhv_desc_t *src_dir_bdp,
206 bhv_vname_t *src_vname,
207 bhv_vnode_t *target_dir_vp,
208 bhv_vname_t *target_vname,
211 return xfs_rename(XFS_BHVTOI(src_dir_bdp), src_vname,
212 target_dir_vp, target_vname);
224 return xfs_attr_get(XFS_BHVTOI(bdp), name, value, valuelenp,
237 return xfs_attr_set(XFS_BHVTOI(bdp), name, value, valuelen,
248 return xfs_attr_remove(XFS_BHVTOI(bdp), name, flags);
257 struct attrlist_cursor_kern *cursor,
260 return xfs_attr_list(XFS_BHVTOI(bdp), buffer, bufsize, flags,
273 return xfs_ioctl(XFS_BHVTOI(bdp), filp, ioflags, cmd, arg);
280 const struct iovec *iovp,
286 return xfs_read(XFS_BHVTOI(bdp), iocb, iovp, segs,
301 return xfs_sendfile(XFS_BHVTOI(bdp), filp, offset, ioflags,
302 count, actor, target);
310 struct pipe_inode_info *pipe,
316 return xfs_splice_read(XFS_BHVTOI(bdp), infilp, ppos, pipe,
317 count, flags, ioflags);
321 xfs_bhv_splice_write(
323 struct pipe_inode_info *pipe,
324 struct file *outfilp,
331 return xfs_splice_write(XFS_BHVTOI(bdp), pipe, outfilp, ppos,
332 count, flags, ioflags);
339 const struct iovec *iovp,
345 return xfs_write(XFS_BHVTOI(bdp), iocb, iovp, nsegs, offset,
350 xfs_bhv_bmap(bhv_desc_t *bdp,
354 struct xfs_iomap *iomapp,
357 return xfs_bmap(XFS_BHVTOI(bdp), offset, count, flags,
368 xfs_tosspages(XFS_BHVTOI(bdp), first, last, fiopt);
378 return xfs_flushinval_pages(XFS_BHVTOI(bdp), first, last,
390 return xfs_flush_pages(XFS_BHVTOI(bdp), first, last, flags,
394 bhv_vnodeops_t xfs_vnodeops = {
395 BHV_IDENTITY_INIT(VN_BHV_XFS,VNODE_POSITION_XFS),
396 .vop_open = xfs_bhv_open,
397 .vop_read = xfs_bhv_read,
399 .vop_sendfile = xfs_bhv_sendfile,
402 .vop_splice_read = xfs_bhv_splice_read,
403 .vop_splice_write = xfs_bhv_splice_write,
405 .vop_write = xfs_bhv_write,
406 .vop_ioctl = xfs_bhv_ioctl,
407 .vop_getattr = xfs_bhv_getattr,
408 .vop_setattr = xfs_bhv_setattr,
409 .vop_access = xfs_bhv_access,
410 .vop_lookup = xfs_bhv_lookup,
411 .vop_create = xfs_bhv_create,
412 .vop_remove = xfs_bhv_remove,
413 .vop_link = xfs_bhv_link,
414 .vop_rename = xfs_bhv_rename,
415 .vop_mkdir = xfs_bhv_mkdir,
416 .vop_rmdir = xfs_bhv_rmdir,
417 .vop_readdir = xfs_bhv_readdir,
418 .vop_symlink = xfs_bhv_symlink,
419 .vop_readlink = xfs_bhv_readlink,
420 .vop_fsync = xfs_bhv_fsync,
421 .vop_inactive = xfs_bhv_inactive,
422 .vop_fid2 = xfs_bhv_fid2,
423 .vop_rwlock = xfs_bhv_rwlock,
424 .vop_rwunlock = xfs_bhv_rwunlock,
425 .vop_bmap = xfs_bhv_bmap,
426 .vop_reclaim = xfs_bhv_reclaim,
427 .vop_attr_get = xfs_bhv_attr_get,
428 .vop_attr_set = xfs_bhv_attr_set,
429 .vop_attr_remove = xfs_bhv_attr_remove,
430 .vop_attr_list = xfs_bhv_attr_list,
431 .vop_link_removed = (vop_link_removed_t)fs_noval,
432 .vop_vnode_change = (vop_vnode_change_t)fs_noval,
433 .vop_tosspages = fs_tosspages,
434 .vop_flushinval_pages = fs_flushinval_pages,
435 .vop_flush_pages = fs_flush_pages,
436 .vop_release = xfs_bhv_release,
437 .vop_iflush = xfs_bhv_inode_flush,