Whamcloud - gitweb
LU-4843 mdt: disallow old clients access striped dir
[fs/lustre-release.git] / lustre / mdt / mdt_internal.h
index 5b8cea1..de5bd8f 100644 (file)
@@ -219,12 +219,7 @@ struct mdt_device {
        spinlock_t                 mdt_osfs_lock;
 
         /* root squash */
-        uid_t                      mdt_squash_uid;
-        gid_t                      mdt_squash_gid;
-        cfs_list_t                 mdt_nosquash_nids;
-        char                      *mdt_nosquash_str;
-        int                        mdt_nosquash_strlen;
-       struct rw_semaphore        mdt_squash_sem;
+       struct root_squash_info    mdt_squash;
 
         struct rename_stats        mdt_rename_stats;
        struct lu_fid              mdt_md_root_fid;
@@ -594,11 +589,18 @@ static inline void mdt_export_evict(struct obd_export *exp)
 
 /* Here we use LVB_TYPE to check dne client, because it is
  * also landed on 2.4. */
-static inline int mdt_is_dne_client(struct obd_export *exp)
+static inline bool mdt_is_dne_client(struct obd_export *exp)
 {
        return !!(exp_connect_flags(exp) & OBD_CONNECT_LVB_TYPE);
 }
 
+/* Here we use OBD_CONNECT_DISP_STRIPE to check the client who support
+ * striped directory, because it is also landed on 2.6 */
+static inline bool mdt_is_striped_client(struct obd_export *exp)
+{
+       return exp_connect_flags(exp) & OBD_CONNECT_DISP_STRIPE;
+}
+
 int mdt_get_disposition(struct ldlm_reply *rep, int flag);
 void mdt_set_disposition(struct mdt_thread_info *info,
                         struct ldlm_reply *rep, int flag);
@@ -717,6 +719,8 @@ enum {
 int mdt_get_info(struct tgt_session_info *tsi);
 int mdt_attr_get_complex(struct mdt_thread_info *info,
                         struct mdt_object *o, struct md_attr *ma);
+int mdt_big_xattr_get(struct mdt_thread_info *info, struct mdt_object *o,
+                     const char *name);
 int mdt_stripe_get(struct mdt_thread_info *info, struct mdt_object *o,
                   struct md_attr *ma, const char *name);
 int mdt_ioepoch_open(struct mdt_thread_info *info, struct mdt_object *o,
@@ -759,9 +763,6 @@ void mdt_thread_info_init(struct ptlrpc_request *req,
 void mdt_thread_info_fini(struct mdt_thread_info *mti);
 struct mdt_thread_info *tsi2mdt_info(struct tgt_session_info *tsi);
 
-extern struct lprocfs_vars lprocfs_mds_module_vars[];
-extern struct lprocfs_vars lprocfs_mds_obd_vars[];
-
 int mdt_hsm_attr_set(struct mdt_thread_info *info, struct mdt_object *obj,
                     const struct md_hsm *mh);
 
@@ -899,13 +900,12 @@ int mdt_hsm_cdt_fini(struct mdt_device *mdt);
 int mdt_hsm_cdt_wakeup(struct mdt_device *mdt);
 
 /* coordinator control /proc interface */
-int lprocfs_wr_hsm_cdt_control(struct file *file, const char *buffer,
-                              unsigned long count, void *data);
-int lprocfs_rd_hsm_cdt_control(char *page, char **start, off_t off,
-                              int count, int *eof, void *data);
+ssize_t mdt_hsm_cdt_control_seq_write(struct file *file, const char *buffer,
+                                       size_t count, loff_t *off);
+int mdt_hsm_cdt_control_seq_show(struct seq_file *m, void *data);
 int hsm_cdt_procfs_init(struct mdt_device *mdt);
 void hsm_cdt_procfs_fini(struct mdt_device *mdt);
-struct lprocfs_vars *hsm_cdt_get_proc_vars(void);
+struct lprocfs_seq_vars *hsm_cdt_get_proc_vars(void);
 /* md_hsm helpers */
 struct mdt_object *mdt_hsm_get_md_hsm(struct mdt_thread_info *mti,
                                      const struct lu_fid *fid,
@@ -1045,8 +1045,6 @@ enum {
 };
 void mdt_counter_incr(struct ptlrpc_request *req, int opcode);
 void mdt_stats_counter_init(struct lprocfs_stats *stats);
-void lprocfs_mdt_init_vars(struct lprocfs_static_vars *lvars);
-void lprocfs_mds_init_vars(struct lprocfs_static_vars *lvars);
 int mdt_procfs_init(struct mdt_device *mdt, const char *name);
 void mdt_procfs_fini(struct mdt_device *mdt);