blob: ea7a98e9cb7048820bfa69c5bc294ccbe4102709 [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
Christoph Hellwig41be8be2008-08-13 16:23:13 +100028extern void xfs_setup_inode(struct xfs_inode *);
29
Dave Chinnerc24b5df2013-08-12 20:49:45 +100030/*
31 * Internal setattr interfaces.
32 */
Christoph Hellwig2401dc22013-12-20 05:16:50 -080033#define XFS_ATTR_NOACL 0x01 /* Don't call posix_acl_chmod */
Dave Chinnerc24b5df2013-08-12 20:49:45 +100034
Christoph Hellwig52785112015-02-16 11:49:23 +110035extern void xfs_setattr_time(struct xfs_inode *ip, struct iattr *iattr);
Dave Chinnerc24b5df2013-08-12 20:49:45 +100036extern int xfs_setattr_nonsize(struct xfs_inode *ip, struct iattr *vap,
37 int flags);
Christoph Hellwig76ca4c22013-10-14 07:09:35 -070038extern int xfs_setattr_size(struct xfs_inode *ip, struct iattr *vap);
Dave Chinnerc24b5df2013-08-12 20:49:45 +100039
Linus Torvalds1da177e2005-04-16 15:20:36 -070040#endif /* __XFS_IOPS_H__ */