Whamcloud - gitweb
LU-14291 lustre: clean up lustre_eacl.h and make server-only
[fs/lustre-release.git] / lustre / llite / llite_internal.h
index c05c13b..d8a1d9b 100644 (file)
@@ -32,9 +32,8 @@
 
 #ifndef LLITE_INTERNAL_H
 #define LLITE_INTERNAL_H
-#include <lustre_debug.h>
+#include <obd.h>
 #include <lustre_disk.h>  /* for s2sbi */
-#include <lustre_eacl.h>
 #include <lustre_linkea.h>
 
 /* for struct cl_lock_descr and struct cl_io */
@@ -406,6 +405,8 @@ enum ll_file_flags {
        LLIF_UPDATE_ATIME       = 4,
        /* foreign file/dir can be unlinked unconditionnaly */
        LLIF_FOREIGN_REMOVABLE  = 5,
+       /* setting encryption context in progress */
+       LLIF_SET_ENC_CTX        = 6,
 
 };
 
@@ -718,15 +719,15 @@ struct ll_sb_info {
        struct dentry           *ll_debugfs_entry;
        struct lu_fid            ll_root_fid; /* root object fid */
 
-        int                       ll_flags;
+       int                       ll_flags;
        unsigned int              ll_xattr_cache_enabled:1,
                                  ll_xattr_cache_set:1, /* already set to 0/1 */
                                  ll_client_common_fill_super_succeeded:1,
                                  ll_checksum_set:1;
 
-        struct lustre_client_ocd  ll_lco;
+       struct lustre_client_ocd  ll_lco;
 
-        struct lprocfs_stats     *ll_stats; /* lprocfs stats counter */
+       struct lprocfs_stats     *ll_stats; /* lprocfs stats counter */
 
        /* Used to track "unstable" pages on a client, and maintain a
         * LRU list of clean pages. An "unstable" page is defined as
@@ -734,24 +735,24 @@ struct ll_sb_info {
         * but is uncommitted to stable storage. */
        struct cl_client_cache   *ll_cache;
 
-        struct lprocfs_stats     *ll_ra_stats;
-
-        struct ll_ra_info         ll_ra_info;
-        unsigned int              ll_namelen;
-        struct file_operations   *ll_fop;
-
-        struct lu_site           *ll_site;
-        struct cl_device         *ll_cl;
-        /* Statistics */
-        struct ll_rw_extents_info ll_rw_extents_info;
-        int                       ll_extent_process_count;
-        struct ll_rw_process_info ll_rw_process_info[LL_PROCESS_HIST_MAX];
-        unsigned int              ll_offset_process_count;
-        struct ll_rw_process_info ll_rw_offset_info[LL_OFFSET_HIST_MAX];
-        unsigned int              ll_rw_offset_entry_count;
-        int                       ll_stats_track_id;
-        enum stats_track_type     ll_stats_track_type;
-        int                       ll_rw_stats_on;
+       struct lprocfs_stats     *ll_ra_stats;
+
+       struct ll_ra_info         ll_ra_info;
+       unsigned int              ll_namelen;
+       const struct file_operations *ll_fop;
+
+       struct lu_site           *ll_site;
+       struct cl_device         *ll_cl;
+       /* Statistics */
+       struct ll_rw_extents_info ll_rw_extents_info;
+       int                       ll_extent_process_count;
+       struct ll_rw_process_info ll_rw_process_info[LL_PROCESS_HIST_MAX];
+       unsigned int              ll_offset_process_count;
+       struct ll_rw_process_info ll_rw_offset_info[LL_OFFSET_HIST_MAX];
+       unsigned int              ll_rw_offset_entry_count;
+       int                       ll_stats_track_id;
+       enum stats_track_type     ll_stats_track_type;
+       int                       ll_rw_stats_on;
 
        /* metadata stat-ahead */
        unsigned int              ll_sa_running_max;/* max concurrent
@@ -1047,17 +1048,6 @@ enum get_default_layout_type {
        GET_DEFAULT_LAYOUT_ROOT = 1,
 };
 
-struct ll_dir_chain {
-};
-
-static inline void ll_dir_chain_init(struct ll_dir_chain *chain)
-{
-}
-
-static inline void ll_dir_chain_fini(struct ll_dir_chain *chain)
-{
-}
-
 extern const struct file_operations ll_dir_operations;
 extern const struct inode_operations ll_dir_inode_operations;
 #ifdef HAVE_DIR_CONTEXT
@@ -1070,7 +1060,7 @@ int ll_dir_read(struct inode *inode, __u64 *pos, struct md_op_data *op_data,
 int ll_get_mdt_idx(struct inode *inode);
 int ll_get_mdt_idx_by_fid(struct ll_sb_info *sbi, const struct lu_fid *fid);
 struct page *ll_get_dir_page(struct inode *dir, struct md_op_data *op_data,
-                            __u64 offset, struct ll_dir_chain *chain);
+                            __u64 offset);
 void ll_release_page(struct inode *inode, struct page *page, bool remove);
 int quotactl_ioctl(struct ll_sb_info *sbi, struct if_quotactl *qctl);
 
@@ -1104,10 +1094,8 @@ struct ll_cl_context *ll_cl_find(struct file *file);
 extern const struct address_space_operations ll_aops;
 
 /* llite/file.c */
-extern struct file_operations ll_file_operations;
-extern struct file_operations ll_file_operations_flock;
-extern struct file_operations ll_file_operations_noflock;
-extern struct inode_operations ll_file_inode_operations;
+extern const struct inode_operations ll_file_inode_operations;
+const struct file_operations *ll_select_file_operations(struct ll_sb_info *sbi);
 extern int ll_have_md_lock(struct inode *inode, __u64 *bits,
                           enum ldlm_mode l_req_mode);
 extern enum ldlm_mode ll_take_md_lock(struct inode *inode, __u64 bits,
@@ -1129,16 +1117,14 @@ int ll_getattr(struct vfsmount *mnt, struct dentry *de, struct kstat *stat);
 #endif
 int ll_getattr_dentry(struct dentry *de, struct kstat *stat, u32 request_mask,
                      unsigned int flags, bool foreign);
-struct posix_acl *ll_get_acl(struct inode *inode, int type);
-#ifdef HAVE_IOP_SET_ACL
 #ifdef CONFIG_LUSTRE_FS_POSIX_ACL
+struct posix_acl *ll_get_acl(struct inode *inode, int type);
 int ll_set_acl(struct inode *inode, struct posix_acl *acl, int type);
 #else  /* !CONFIG_LUSTRE_FS_POSIX_ACL */
+#define ll_get_acl NULL
 #define ll_set_acl NULL
 #endif /* CONFIG_LUSTRE_FS_POSIX_ACL */
 
-#endif
-
 static inline int ll_xflags_to_inode_flags(int xflags)
 {
        return ((xflags & FS_XFLAG_SYNC)      ? S_SYNC      : 0) |
@@ -1147,12 +1133,12 @@ static inline int ll_xflags_to_inode_flags(int xflags)
               ((xflags & FS_XFLAG_IMMUTABLE) ? S_IMMUTABLE : 0);
 }
 
-static inline int ll_inode_flags_to_xflags(int flags)
+static inline int ll_inode_flags_to_xflags(int inode_flags)
 {
-       return ((flags & S_SYNC)      ? FS_XFLAG_SYNC      : 0) |
-              ((flags & S_NOATIME)   ? FS_XFLAG_NOATIME   : 0) |
-              ((flags & S_APPEND)    ? FS_XFLAG_APPEND    : 0) |
-              ((flags & S_IMMUTABLE) ? FS_XFLAG_IMMUTABLE : 0);
+       return ((inode_flags & S_SYNC)      ? FS_XFLAG_SYNC      : 0) |
+              ((inode_flags & S_NOATIME)   ? FS_XFLAG_NOATIME   : 0) |
+              ((inode_flags & S_APPEND)    ? FS_XFLAG_APPEND    : 0) |
+              ((inode_flags & S_IMMUTABLE) ? FS_XFLAG_IMMUTABLE : 0);
 }
 
 int ll_migrate(struct inode *parent, struct file *file,
@@ -1199,7 +1185,7 @@ int ll_revalidate_it_finish(struct ptlrpc_request *request,
                             struct lookup_intent *it, struct dentry *de);
 
 /* llite/llite_lib.c */
-extern struct super_operations lustre_super_operations;
+extern const struct super_operations lustre_super_operations;
 
 void ll_lli_init(struct ll_inode_info *lli);
 int ll_fill_super(struct super_block *sb);
@@ -1215,7 +1201,7 @@ int ll_statfs(struct dentry *de, struct kstatfs *sfs);
 int ll_statfs_internal(struct ll_sb_info *sbi, struct obd_statfs *osfs,
                       u32 flags);
 int ll_update_inode(struct inode *inode, struct lustre_md *md);
-void ll_update_inode_flags(struct inode *inode, int ext_flags);
+void ll_update_inode_flags(struct inode *inode, unsigned int ext_flags);
 int ll_read_inode2(struct inode *inode, void *opaque);
 void ll_delete_inode(struct inode *inode);
 int ll_iocontrol(struct inode *inode, struct file *file,
@@ -1271,14 +1257,14 @@ static inline ssize_t ll_lov_user_md_size(const struct lov_user_md *lum)
 }
 
 /* llite/llite_nfs.c */
-extern struct export_operations lustre_export_operations;
+extern const struct export_operations lustre_export_operations;
 __u32 get_uuid2int(const char *name, int len);
 struct inode *search_inode_for_lustre(struct super_block *sb,
                                      const struct lu_fid *fid);
 int ll_dir_get_parent_fid(struct inode *dir, struct lu_fid *parent_fid);
 
 /* llite/symlink.c */
-extern struct inode_operations ll_fast_symlink_inode_operations;
+extern const struct inode_operations ll_fast_symlink_inode_operations;
 
 /**
  * IO arguments for various VFS I/O interfaces.