mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-20 02:34:23 +08:00
c24b5dfadc
Now we have xfs_inode.c for holding kernel-only XFS inode operations, move all the inode operations from xfs_vnodeops.c to this new file as it holds another set of kernel-only inode operations. The name of this file traces back to the days of Irix and it's vnodes which we don't have anymore. Essentially this move consolidates the inode locking functions and a bunch of XFS inode operations into the one file. Eventually the high level functions will be merged into the VFS interface functions in xfs_iops.c. This leaves only internal preallocation, EOF block manipulation and hole punching functions in vnodeops.c. Move these to xfs_bmap_util.c where we are already consolidating various in-kernel physical extent manipulation and querying functions. Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Mark Tinguely <tinguely@sgi.com> Signed-off-by: Ben Myers <bpm@sgi.com>
44 lines
1.6 KiB
C
44 lines
1.6 KiB
C
/*
|
|
* Copyright (c) 2000-2003,2005 Silicon Graphics, Inc.
|
|
* All Rights Reserved.
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License as
|
|
* published by the Free Software Foundation.
|
|
*
|
|
* This program is distributed in the hope that it would be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write the Free Software Foundation,
|
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
*/
|
|
#ifndef __XFS_IOPS_H__
|
|
#define __XFS_IOPS_H__
|
|
|
|
struct xfs_inode;
|
|
|
|
extern const struct file_operations xfs_file_operations;
|
|
extern const struct file_operations xfs_dir_file_operations;
|
|
|
|
extern ssize_t xfs_vn_listxattr(struct dentry *, char *data, size_t size);
|
|
|
|
extern void xfs_setup_inode(struct xfs_inode *);
|
|
|
|
/*
|
|
* Internal setattr interfaces.
|
|
*/
|
|
#define XFS_ATTR_DMI 0x01 /* invocation from a DMI function */
|
|
#define XFS_ATTR_NONBLOCK 0x02 /* return EAGAIN if op would block */
|
|
#define XFS_ATTR_NOLOCK 0x04 /* Don't grab any conflicting locks */
|
|
#define XFS_ATTR_NOACL 0x08 /* Don't call xfs_acl_chmod */
|
|
#define XFS_ATTR_SYNC 0x10 /* synchronous operation required */
|
|
|
|
extern int xfs_setattr_nonsize(struct xfs_inode *ip, struct iattr *vap,
|
|
int flags);
|
|
extern int xfs_setattr_size(struct xfs_inode *ip, struct iattr *vap, int flags);
|
|
|
|
#endif /* __XFS_IOPS_H__ */
|