1 /* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*-
2 * vim:expandtab:shiftwidth=8:tabstop=8:
4 * lustre lite cluster file system
6 * This code is issued under the GNU General Public License.
7 * See the file COPYING in this distribution
9 * Copyright (C) 2002 Cluster File Systems, Inc. <info@clusterfs.com>
16 #error Do not #include this file directly. #include <lustre_lite.h> instead
19 #include <libcfs/libcfs.h>
24 unsigned int ia_valid;
32 unsigned int ia_attr_flags;
36 * intent data-structured. For Linux they are defined in
37 * linux/include/linux/dcache.h
39 #define IT_OPEN 0x0001
40 #define IT_CREAT 0x0002
41 #define IT_READDIR 0x0004
42 #define IT_GETATTR 0x0008
43 #define IT_LOOKUP 0x0010
44 #define IT_UNLINK 0x0020
45 #define IT_GETXATTR 0x0040
46 #define IT_EXEC 0x0080
49 #define IT_FL_LOCKED 0x0001
50 #define IT_FL_FOLLOWED 0x0002 /* set by vfs_follow_link */
52 #define INTENT_MAGIC 0x19620323 /* Happy birthday! */
54 struct lustre_intent_data {
63 * Liang: We keep the old lookup_intent struct in XNU
64 * to avoid unnecessary allocate/free.
66 #define LUSTRE_IT(it) ((struct lustre_intent_data *)(&(it)->d.lustre))
68 struct lookup_intent {
70 void (*it_op_release)(struct lookup_intent *);
75 struct lustre_intent_data lustre;
80 struct super_operations{