[BACK]Return to xfs_iops.h CVS log [TXT][DIR] Up to [Development] / xfs-linux / linux-2.4

File: [Development] / xfs-linux / linux-2.4 / Attic / xfs_iops.h (download)

Revision 1.17, Wed Oct 2 17:25:30 2002 UTC (15 years ago) by lord
Branch: MAIN
Changes since 1.16: +0 -1 lines

This is a two fold change, first it moves the translation
between linux dev_t and kdev_t up the call stack in xfs
and makes the bulk of xfs work in terms of its on disk
dev_t format. It also cleans up a few related chunks of
code.

The other part of the change reworks how we keep the linux
inode contents and the xfs inode fields in sync. A number
of places where we resynced the two have been removed, these
were basically replicating work elsewhere in the filesystem.
We now also ensure that the inode fields are filled in
before calling unlock_new_inode - there used to be a window.
Finally all the code which hooks together the linux inode
and the xfs inode is brought together as a more coherent
whole rather than being scattered around the inode create
path. Most calls to revalidate the linux inode from the
xfs inode are removed.
Remove linvfs_revalidate_core

/*
 * Copyright (c) 2000-2002 Silicon Graphics, Inc.  All Rights Reserved.
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of version 2 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.
 *
 * Further, this software is distributed without any warranty that it is
 * free of the rightful claim of any third person regarding infringement
 * or the like.	 Any license provided herein, whether implied or
 * otherwise, applies only to this software file.  Patent licenses, if
 * any, provided herein do not apply to combinations of this program with
 * other software, or any other product whatsoever.
 *
 * You should have received a copy of the GNU General Public License along
 * with this program; if not, write the Free Software Foundation, Inc., 59
 * Temple Place - Suite 330, Boston MA 02111-1307, USA.
 *
 * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
 * Mountain View, CA  94043, or:
 *
 * http://www.sgi.com
 *
 * For further information regarding this notice, see:
 *
 * http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/
 */
#ifndef __XFS_IOPS_H__
#define __XFS_IOPS_H__

/*
 * Extended system attributes.
 * So far only POSIX ACLs are supported, but this will need to
 * grow in time (capabilities, mandatory access control, etc).
 */
#define XFS_SYSTEM_NAMESPACE	SYSTEM_POSIXACL

/*
 * Define a table of the namespaces XFS supports
 */
typedef int (*xattr_exists_t)(vnode_t *);

typedef struct xattr_namespace {
	char		*name;
	unsigned int	namelen;
	xattr_exists_t	exists;
} xattr_namespace_t;

#define SYSTEM_NAMES	0
#define ROOT_NAMES	1
#define USER_NAMES	2
extern struct xattr_namespace *xfs_namespaces;


extern struct inode_operations linvfs_file_inode_operations;
extern struct inode_operations linvfs_dir_inode_operations;
extern struct inode_operations linvfs_symlink_inode_operations;

extern struct file_operations linvfs_file_operations;
extern struct file_operations linvfs_dir_operations;

extern struct address_space_operations linvfs_aops;

extern int linvfs_get_block(struct inode *, long, struct buffer_head *, int);

#endif /* __XFS_IOPS_H__ */