Whamcloud - gitweb
LU-11930 llite: Restore pio flags
[fs/lustre-release.git] / lustre / llite / llite_internal.h
index 282af57..5bbe089 100644 (file)
@@ -44,8 +44,8 @@
 #include <lustre_intent.h>
 #include <linux/compat.h>
 #include <linux/aio.h>
-
 #include <lustre_compat.h>
+
 #include "vvp_internal.h"
 #include "range_lock.h"
 
@@ -135,8 +135,7 @@ struct ll_inode_info {
 
        /* update atime from MDS no matter if it's older than
         * local inode atime. */
-       unsigned int    lli_update_atime:1,
-                       lli_inode_locked:1;
+       unsigned int    lli_update_atime:1;
 
        /* Try to make the d::member and f::member are aligned. Before using
         * these members, make clear whether it is directory or not. */
@@ -166,6 +165,8 @@ struct ll_inode_info {
                        unsigned int                    lli_sa_enabled:1;
                        /* generation for statahead */
                        unsigned int                    lli_sa_generation;
+                       /* rw lock protects lli_lsm_md */
+                       struct rw_semaphore             lli_lsm_sem;
                        /* directory stripe information */
                        struct lmv_stripe_md            *lli_lsm_md;
                        /* default directory stripe offset.  This is extracted
@@ -449,7 +450,8 @@ enum stats_track_type {
                                       * suppress_pings */
 #define LL_SBI_FAST_READ     0x400000 /* fast read support */
 #define LL_SBI_FILE_SECCTX   0x800000 /* set file security context at create */
-#define LL_SBI_PIO          0x1000000 /* parallel IO support */
+/*     LL_SBI_PIO          0x1000000    parallel IO support, introduced in
+                                        2.10, abandoned */
 #define LL_SBI_TINY_WRITE   0x2000000 /* tiny write support */
 
 #define LL_SBI_FLAGS {         \
@@ -478,7 +480,7 @@ enum stats_track_type {
        "fast_read",    \
        "file_secctx",  \
        "pio",          \
-       "tiny_write",           \
+       "tiny_write",   \
 }
 
 /* This is embedded into llite super-blocks to keep track of connect
@@ -497,16 +499,16 @@ struct lustre_client_ocd {
 struct ll_sb_info {
        /* this protects pglist and ra_info.  It isn't safe to
         * grab from interrupt contexts */
-       spinlock_t                ll_lock;
-       spinlock_t                ll_pp_extent_lock; /* pp_extent entry*/
-       spinlock_t                ll_process_lock; /* ll_rw_process_info */
-        struct obd_uuid           ll_sb_uuid;
-        struct obd_export        *ll_md_exp;
-        struct obd_export        *ll_dt_exp;
-       struct obd_device        *ll_md_obd;
-       struct obd_device        *ll_dt_obd;
-        struct proc_dir_entry*    ll_proc_root;
-        struct lu_fid             ll_root_fid; /* root object fid */
+       spinlock_t               ll_lock;
+       spinlock_t               ll_pp_extent_lock; /* pp_extent entry*/
+       spinlock_t               ll_process_lock; /* ll_rw_process_info */
+       struct obd_uuid          ll_sb_uuid;
+       struct obd_export       *ll_md_exp;
+       struct obd_export       *ll_dt_exp;
+       struct obd_device       *ll_md_obd;
+       struct obd_device       *ll_dt_obd;
+       struct dentry           *ll_debugfs_entry;
+       struct lu_fid            ll_root_fid; /* root object fid */
 
         int                       ll_flags;
        unsigned int              ll_umounting:1,
@@ -682,7 +684,6 @@ struct ll_file_data {
        __u32 fd_layout_version;
 };
 
-extern struct proc_dir_entry *proc_lustre_fs_root;
 void llite_tunables_unregister(void);
 int llite_tunables_register(void);
 
@@ -737,17 +738,9 @@ int cl_get_grouplock(struct cl_object *obj, unsigned long gid, int nonblock,
 void cl_put_grouplock(struct ll_grouplock *lg);
 
 /* llite/lproc_llite.c */
-#ifdef CONFIG_PROC_FS
-void ll_stats_ops_tally(struct ll_sb_info *sbi, int op, int count);
-extern struct lprocfs_vars lprocfs_llite_obd_vars[];
-#else
-static inline int ll_debugs_register_super(struct super_block *sb,
-                                          const char *name)
-{ return 0; }
-static void ll_stats_ops_tally(struct ll_sb_info *sbi, int op, int count) {}
-#endif
 int ll_debugfs_register_super(struct super_block *sb, const char *name);
 void ll_debugfs_unregister_super(struct super_block *sb);
+void ll_stats_ops_tally(struct ll_sb_info *sbi, int op, int count);
 
 enum {
        LPROC_LL_DIRTY_HITS,
@@ -890,6 +883,7 @@ int ll_inode_permission(struct inode *inode, int mask, struct nameidata *nd);
 int ll_inode_permission(struct inode *inode, int mask);
 # endif
 #endif
+int ll_ioctl_check_project(struct inode *inode, struct fsxattr *fa);
 int ll_ioctl_fsgetxattr(struct inode *inode, unsigned int cmd,
                        unsigned long arg);
 int ll_ioctl_fssetxattr(struct inode *inode, unsigned int cmd,
@@ -977,6 +971,7 @@ enum {
        LUSTRE_OPC_ANY          = 5,
 };
 
+void ll_unlock_md_op_lsm(struct md_op_data *op_data);
 struct md_op_data *ll_prep_md_op_data(struct md_op_data *op_data,
                                      struct inode *i1, struct inode *i2,
                                      const char *name, size_t namelen,