Whamcloud - gitweb
Prepare for Build 33
[fs/lustre-release.git] / lustre / liblustre / llite_lib.h
index 931651e..bf51702 100644 (file)
@@ -58,8 +58,7 @@
 struct ll_file_data {
         struct obd_client_handle fd_mds_och;
         __u32 fd_flags;
-        struct lustre_handle fd_cwlockh;
-        unsigned long fd_gid;
+        struct ccc_grouplock fd_grouplock;
 };
 
 struct llu_sb_info {
@@ -231,10 +230,12 @@ void obdo_to_inode(struct inode *dst, struct obdo *src, obd_flag valid);
 void obdo_from_inode(struct obdo *dst, struct inode *src, obd_flag valid);
 int ll_it_open_error(int phase, struct lookup_intent *it);
 struct inode *llu_iget(struct filesys *fs, struct lustre_md *md);
-int llu_inode_getattr(struct inode *inode, struct obdo *obdo);
+int llu_inode_getattr(struct inode *inode, struct obdo *obdo,
+                      __u64 ioepoch, int sync);
 int llu_md_setattr(struct inode *inode, struct md_op_data *op_data,
                    struct md_open_data **mod);
 int llu_setattr_raw(struct inode *inode, struct iattr *attr);
+int llu_put_grouplock(struct inode *inode, unsigned long arg);
 
 extern struct fssw_ops llu_fssw_ops;
 
@@ -246,15 +247,18 @@ void llu_finish_md_op_data(struct md_op_data *op_data);
 int llu_create(struct inode *dir, struct pnode_base *pnode, int mode);
 int llu_local_open(struct llu_inode_info *lli, struct lookup_intent *it);
 int llu_iop_open(struct pnode *pnode, int flags, mode_t mode);
+void llu_done_writing_attr(struct inode *inode, struct md_op_data *op_data);
 int llu_md_close(struct obd_export *md_exp, struct inode *inode);
+void llu_pack_inode2opdata(struct inode *inode, struct md_op_data *op_data,
+                           struct lustre_handle *fh);
 int llu_file_release(struct inode *inode);
-int llu_sizeonmds_update(struct inode *inode, struct md_open_data *mod,
-                         struct lustre_handle *fh, __u64 ioepoch);
+int llu_som_update(struct inode *inode, struct md_op_data *op_data);
 int llu_iop_close(struct inode *inode);
 _SYSIO_OFF_T llu_iop_pos(struct inode *ino, _SYSIO_OFF_T off);
 int llu_vmtruncate(struct inode * inode, loff_t offset, obd_flag obd_flags);
 void obdo_refresh_inode(struct inode *dst, struct obdo *src, obd_flag valid);
 int llu_objects_destroy(struct ptlrpc_request *request, struct inode *dir);
+void llu_ioepoch_open(struct llu_inode_info *lli, __u64 ioepoch);
 
 /* rw.c */
 int llu_iop_read(struct inode *ino, struct ioctx *ioctxp);
@@ -327,15 +331,13 @@ static inline void inode_init_lvb(struct inode *inode, struct ost_lvb *lvb)
           sizeof(cfs_page_t) + \
           llap_cookie_size) * (x))
 
-#define LLU_IO_SESSION_SIZE(x)  \
-        (sizeof(struct llu_io_session) + (x) * 2 * sizeof(void *))
-
 struct llu_io_session {
         struct inode           *lis_inode;
         int                     lis_cmd;
         int                     lis_max_groups;
         int                     lis_ngroups;
-        struct llu_io_group    *lis_groups[0];
+        int                     lis_rc;
+        __u64                   lis_rwcount;
 };
 
 struct llu_io_group