blob: 4d24ff309f593f803b9cba0b96f487e353ebcb81 [file] [log] [blame]
Dave Chinner0b61f8a2018-06-05 19:42:14 -07001// SPDX-License-Identifier: GPL-2.0
Linus Torvalds1da177e2005-04-16 15:20:36 -07002/*
Nathan Scott7b718762005-11-02 14:58:39 +11003 * Copyright (c) 2000-2003,2005 Silicon Graphics, Inc.
4 * All Rights Reserved.
Linus Torvalds1da177e2005-04-16 15:20:36 -07005 */
6#ifndef __XFS_IOPS_H__
7#define __XFS_IOPS_H__
8
Christoph Hellwig41be8be2008-08-13 16:23:13 +10009struct xfs_inode;
Linus Torvalds1da177e2005-04-16 15:20:36 -070010
Arjan van de Ven4b6f5d22006-03-28 01:56:42 -080011extern const struct file_operations xfs_file_operations;
12extern const struct file_operations xfs_dir_file_operations;
Linus Torvalds1da177e2005-04-16 15:20:36 -070013
Lachlan McIlroy0ec58512008-06-23 13:23:01 +100014extern ssize_t xfs_vn_listxattr(struct dentry *, char *data, size_t size);
Linus Torvalds1da177e2005-04-16 15:20:36 -070015
Dave Chinnerc24b5df2013-08-12 20:49:45 +100016/*
17 * Internal setattr interfaces.
18 */
Christoph Hellwig2401dc22013-12-20 05:16:50 -080019#define XFS_ATTR_NOACL 0x01 /* Don't call posix_acl_chmod */
Dave Chinnerc24b5df2013-08-12 20:49:45 +100020
Christoph Hellwig52785112015-02-16 11:49:23 +110021extern void xfs_setattr_time(struct xfs_inode *ip, struct iattr *iattr);
Dave Chinnerc24b5df2013-08-12 20:49:45 +100022extern int xfs_setattr_nonsize(struct xfs_inode *ip, struct iattr *vap,
23 int flags);
Jan Kara69bca802016-05-26 14:46:43 +020024extern int xfs_vn_setattr_nonsize(struct dentry *dentry, struct iattr *vap);
25extern int xfs_vn_setattr_size(struct dentry *dentry, struct iattr *vap);
Dave Chinnerc24b5df2013-08-12 20:49:45 +100026
Linus Torvalds1da177e2005-04-16 15:20:36 -070027#endif /* __XFS_IOPS_H__ */