Blame view

fs/xfs/xfs_vnode.h 1.88 KB
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1
  /*
7b7187698   Nathan Scott   [XFS] Update lice...
2
3
   * Copyright (c) 2000-2005 Silicon Graphics, Inc.
   * All Rights Reserved.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
4
   *
7b7187698   Nathan Scott   [XFS] Update lice...
5
6
   * This program is free software; you can redistribute it and/or
   * modify it under the terms of the GNU General Public License as
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
7
8
   * published by the Free Software Foundation.
   *
7b7187698   Nathan Scott   [XFS] Update lice...
9
10
11
12
   * 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.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
13
   *
7b7187698   Nathan Scott   [XFS] Update lice...
14
15
16
   * 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
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
17
18
19
   */
  #ifndef __XFS_VNODE_H__
  #define __XFS_VNODE_H__
2b5decd09   Christoph Hellwig   [XFS] remove xfs_...
20
  #include "xfs_fs.h"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
21
  struct file;
2b5decd09   Christoph Hellwig   [XFS] remove xfs_...
22
  struct xfs_inode;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
23
24
  struct xfs_iomap;
  struct attrlist_cursor_kern;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
25
  /*
739bfb2a7   Christoph Hellwig   [XFS] call common...
26
   * Return values for xfs_inactive.  A return value of
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
27
28
29
30
31
32
33
   * VN_INACTIVE_NOCACHE implies that the file system behavior
   * has disassociated its state and bhv_desc_t from the vnode.
   */
  #define	VN_INACTIVE_CACHE	0
  #define	VN_INACTIVE_NOCACHE	1
  
  /*
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
34
35
   * Flags for read/write calls - same values as IRIX
   */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
36
37
  #define IO_ISDIRECT	0x00004		/* bypass page cache */
  #define IO_INVIS	0x00020		/* don't update inode timestamps */
0b1b213fc   Christoph Hellwig   xfs: event tracin...
38
39
40
  #define XFS_IO_FLAGS \
  	{ IO_ISDIRECT,	"DIRECT" }, \
  	{ IO_INVIS,	"INVIS"}
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
41
  /*
67fcaa73a   Nathan Scott   [XFS] Resolve a n...
42
   * Flush/Invalidate options for vop_toss/flush/flushinval_pages.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
43
44
45
46
47
48
   */
  #define FI_NONE			0	/* none */
  #define FI_REMAPF		1	/* Do a remapf prior to the operation */
  #define FI_REMAPF_LOCKED	2	/* Do a remapf prior to the operation.
  					   Prevent VM access to the pages until
  					   the operation completes. */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
49
  /*
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
50
51
   * Some useful predicates.
   */
863890cd9   Christoph Hellwig   [XFS] kill vn_to_...
52
53
54
  #define VN_MAPPED(vp)	mapping_mapped(vp->i_mapping)
  #define VN_CACHED(vp)	(vp->i_mapping->nrpages)
  #define VN_DIRTY(vp)	mapping_tagged(vp->i_mapping, \
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
55
  					PAGECACHE_TAG_DIRTY)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
56

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
57

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
58
  #endif	/* __XFS_VNODE_H__ */