linux/fs/xfs/xfs_vnode.h
<<
>>
Prefs
   1/*
   2 * Copyright (c) 2000-2005 Silicon Graphics, Inc.
   3 * All Rights Reserved.
   4 *
   5 * This program is free software; you can redistribute it and/or
   6 * modify it under the terms of the GNU General Public License as
   7 * published by the Free Software Foundation.
   8 *
   9 * 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.
  13 *
  14 * 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
  17 */
  18#ifndef __XFS_VNODE_H__
  19#define __XFS_VNODE_H__
  20
  21#include "xfs_fs.h"
  22
  23struct file;
  24struct xfs_inode;
  25struct attrlist_cursor_kern;
  26
  27/*
  28 * Return values for xfs_inactive.  A return value of
  29 * VN_INACTIVE_NOCACHE implies that the file system behavior
  30 * has disassociated its state and bhv_desc_t from the vnode.
  31 */
  32#define VN_INACTIVE_CACHE       0
  33#define VN_INACTIVE_NOCACHE     1
  34
  35/*
  36 * Flags for read/write calls - same values as IRIX
  37 */
  38#define IO_ISDIRECT     0x00004         /* bypass page cache */
  39#define IO_INVIS        0x00020         /* don't update inode timestamps */
  40
  41#define XFS_IO_FLAGS \
  42        { IO_ISDIRECT,  "DIRECT" }, \
  43        { IO_INVIS,     "INVIS"}
  44
  45/*
  46 * Flush/Invalidate options for vop_toss/flush/flushinval_pages.
  47 */
  48#define FI_NONE                 0       /* none */
  49#define FI_REMAPF               1       /* Do a remapf prior to the operation */
  50#define FI_REMAPF_LOCKED        2       /* Do a remapf prior to the operation.
  51                                           Prevent VM access to the pages until
  52                                           the operation completes. */
  53
  54/*
  55 * Some useful predicates.
  56 */
  57#define VN_MAPPED(vp)   mapping_mapped(vp->i_mapping)
  58#define VN_CACHED(vp)   (vp->i_mapping->nrpages)
  59#define VN_DIRTY(vp)    mapping_tagged(vp->i_mapping, \
  60                                        PAGECACHE_TAG_DIRTY)
  61
  62
  63#endif  /* __XFS_VNODE_H__ */
  64