blob: 0259a383721a5eadf6aea62c36780b2c7a107ee4 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
Nathan Scott7b718762005-11-02 14:58:39 +11002 * Copyright (c) 2000-2003,2005 Silicon Graphics, Inc.
3 * All Rights Reserved.
Linus Torvalds1da177e2005-04-16 15:20:36 -07004 *
Nathan Scott7b718762005-11-02 14:58:39 +11005 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU General Public License as
Linus Torvalds1da177e2005-04-16 15:20:36 -07007 * published by the Free Software Foundation.
8 *
Nathan Scott7b718762005-11-02 14:58:39 +11009 * This program is distributed in the hope that it would be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
Linus Torvalds1da177e2005-04-16 15:20:36 -070013 *
Nathan Scott7b718762005-11-02 14:58:39 +110014 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write the Free Software Foundation,
16 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Linus Torvalds1da177e2005-04-16 15:20:36 -070017 */
18#ifndef __XFS_IOPS_H__
19#define __XFS_IOPS_H__
20
Christoph Hellwig41be8be2008-08-13 16:23:13 +100021struct xfs_inode;
Linus Torvalds1da177e2005-04-16 15:20:36 -070022
Arjan van de Ven4b6f5d22006-03-28 01:56:42 -080023extern const struct file_operations xfs_file_operations;
24extern const struct file_operations xfs_dir_file_operations;
Linus Torvalds1da177e2005-04-16 15:20:36 -070025
Lachlan McIlroy0ec58512008-06-23 13:23:01 +100026extern ssize_t xfs_vn_listxattr(struct dentry *, char *data, size_t size);
Linus Torvalds1da177e2005-04-16 15:20:36 -070027
Dave Chinnerc24b5df2013-08-12 20:49:45 +100028/*
29 * Internal setattr interfaces.
30 */
Christoph Hellwig2401dc22013-12-20 05:16:50 -080031#define XFS_ATTR_NOACL 0x01 /* Don't call posix_acl_chmod */
Dave Chinnerc24b5df2013-08-12 20:49:45 +100032
Christoph Hellwig52785112015-02-16 11:49:23 +110033extern void xfs_setattr_time(struct xfs_inode *ip, struct iattr *iattr);
Dave Chinnerc24b5df2013-08-12 20:49:45 +100034extern int xfs_setattr_nonsize(struct xfs_inode *ip, struct iattr *vap,
35 int flags);
Jan Kara69bca802016-05-26 14:46:43 +020036extern int xfs_vn_setattr_nonsize(struct dentry *dentry, struct iattr *vap);
37extern int xfs_vn_setattr_size(struct dentry *dentry, struct iattr *vap);
Dave Chinnerc24b5df2013-08-12 20:49:45 +100038
Linus Torvalds1da177e2005-04-16 15:20:36 -070039#endif /* __XFS_IOPS_H__ */