Whamcloud - gitweb
LU-6301 llite: cleanup open handle for client open failure
[fs/lustre-release.git] / lustre / llite / llite_internal.h
index 2d83eca..327cb36 100644 (file)
@@ -208,10 +208,12 @@ struct ll_inode_info {
                        unsigned int                    lli_sa_generation;
                        /* directory stripe information */
                        struct lmv_stripe_md            *lli_lsm_md;
-                       /* striped directory size */
-                       loff_t                          lli_stripe_dir_size;
-                       /* striped directory nlink */
-                       __u64                           lli_stripe_dir_nlink;
+                       /* default directory stripe offset.  This is extracted
+                        * from the "dmv" xattr in order to decide which MDT to
+                        * create a subdirectory on.  The MDS itself fetches
+                        * "dmv" and gets the rest of the default layout itself
+                        * (count, hash, etc). */
+                       __u32                           lli_def_stripe_offset;
                };
 
                /* for non-directory */
@@ -696,12 +698,12 @@ static inline int ll_need_32bit_api(struct ll_sb_info *sbi)
 void ll_ras_enter(struct file *f);
 
 /* llite/lproc_llite.c */
-#ifdef LPROCFS
+#ifdef CONFIG_PROC_FS
 int lprocfs_register_mountpoint(struct proc_dir_entry *parent,
                                 struct super_block *sb, char *osc, char *mdc);
 void lprocfs_unregister_mountpoint(struct ll_sb_info *sbi);
 void ll_stats_ops_tally(struct ll_sb_info *sbi, int op, int count);
-extern struct lprocfs_seq_vars lprocfs_llite_obd_vars[];
+extern struct lprocfs_vars lprocfs_llite_obd_vars[];
 #else
 static inline int lprocfs_register_mountpoint(struct proc_dir_entry *parent,
                         struct super_block *sb, char *osc, char *mdc){return 0;}
@@ -795,7 +797,6 @@ void ll_readahead_init(struct inode *inode, struct ll_readahead_state *ras);
 int ll_readahead(const struct lu_env *env, struct cl_io *io,
                 struct cl_page_list *queue, struct ll_readahead_state *ras,
                 bool hit);
-int vvp_io_write_commit(const struct lu_env *env, struct cl_io *io);
 struct ll_cl_context *ll_cl_find(struct file *file);
 void ll_cl_add(struct file *file, const struct lu_env *env, struct cl_io *io);
 void ll_cl_remove(struct file *file, const struct lu_env *env);
@@ -919,6 +920,7 @@ void lustre_dump_dentry(struct dentry *, int recur);
 int ll_obd_statfs(struct inode *inode, void __user *arg);
 int ll_get_max_mdsize(struct ll_sb_info *sbi, int *max_mdsize);
 int ll_get_default_mdsize(struct ll_sb_info *sbi, int *default_mdsize);
+int ll_set_default_mdsize(struct ll_sb_info *sbi, int default_mdsize);
 int ll_get_max_cookiesize(struct ll_sb_info *sbi, int *max_cookiesize);
 int ll_get_default_cookiesize(struct ll_sb_info *sbi, int *default_cookiesize);
 int ll_process_config(struct lustre_cfg *lcfg);
@@ -932,6 +934,7 @@ char *ll_get_fsname(struct super_block *sb, char *buf, int buflen);
 void ll_compute_rootsquash_state(struct ll_sb_info *sbi);
 ssize_t ll_copy_user_md(const struct lov_user_md __user *md,
                        struct lov_user_md **kbuf);
+void ll_open_cleanup(struct super_block *sb, struct ptlrpc_request *open_req);
 
 /* Compute expected user md size when passing in a md from user space */
 static inline ssize_t ll_lov_user_md_size(const struct lov_user_md *lum)
@@ -1511,6 +1514,8 @@ int ll_layout_restore(struct inode *inode, loff_t start, __u64 length);
 int ll_xattr_init(void);
 void ll_xattr_fini(void);
 
+int ll_getxattr_common(struct inode *inode, const char *name,
+                      void *buffer, size_t size, __u64 valid);
 int ll_page_sync_io(const struct lu_env *env, struct cl_io *io,
                    struct cl_page *page, enum cl_req_type crt);