Whamcloud - gitweb
land b1_5 onto HEAD
[fs/lustre-release.git] / lustre / include / linux / lustre_mds.h
1 /* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*-
2  * vim:expandtab:shiftwidth=8:tabstop=8:
3  *
4  *   This file is part of Lustre, http://www.lustre.org
5  *
6  * MDS data structures.
7  * See also lustre_idl.h for wire formats of requests.
8  */
9
10 #ifndef _LINUX_LUSTRE_MDS_H
11 #define _LINUX_LUSTRE_MDS_H
12
13 #ifndef _LUSTRE_MDS_H
14 #error Do not #include this file directly. #include <lustre_mds.h> instead
15 #endif
16
17 #ifdef __KERNEL__
18 # include <linux/fs.h>
19 # include <linux/dcache.h>
20 # ifdef CONFIG_FS_POSIX_ACL
21 #  ifdef HAVE_XATTR_ACL
22 #   include <linux/xattr_acl.h>
23 #  endif 
24 #  ifdef HAVE_LINUX_POSIX_ACL_XATTR_H
25 #   include <linux/posix_acl_xattr.h>
26 #  endif
27 # endif
28 # ifndef LUSTRE_KERNEL_VERSION
29 #  include <linux/lustre_intent.h>
30 # endif
31 #endif
32
33 struct ldlm_lock_desc;
34 struct mds_obd;
35 struct ptlrpc_connection;
36 struct ptlrpc_client;
37 struct obd_export;
38 struct ptlrpc_request;
39 struct obd_device;
40 struct ll_file_data;
41
42 /* mds/handler.c */
43 #ifdef __KERNEL__
44 struct dentry *mds_fid2locked_dentry(struct obd_device *obd, struct ll_fid *fid,
45                                      struct vfsmount **mnt, int lock_mode,
46                                      struct lustre_handle *lockh,
47                                      char *name, int namelen, __u64 lockpart);
48 struct dentry *mds_fid2dentry(struct mds_obd *mds, struct ll_fid *fid,
49                               struct vfsmount **mnt);
50 int mds_update_server_data(struct obd_device *, int force_sync);
51
52 /* mds/mds_fs.c */
53 int mds_fs_setup(struct obd_device *obddev, struct vfsmount *mnt);
54 int mds_fs_cleanup(struct obd_device *obddev);
55 #endif
56
57 #endif