Whamcloud - gitweb
b=19200
[fs/lustre-release.git] / lustre / llite / llite_close.c
index 53b8514..28f5b07 100644 (file)
@@ -84,12 +84,14 @@ void vvp_write_complete(struct ccc_object *club, struct ccc_page *page)
 void ll_queue_done_writing(struct inode *inode, unsigned long flags)
 {
         struct ll_inode_info *lli = ll_i2info(inode);
+        struct ccc_object *club = cl2ccc(ll_i2info(inode)->lli_clob);
+        ENTRY;
 
         spin_lock(&lli->lli_lock);
         lli->lli_flags |= flags;
 
         if ((lli->lli_flags & LLIF_DONE_WRITING) &&
-            list_empty(&lli->lli_pending_write_llaps)) {
+            list_empty(&club->cob_pending_list)) {
                 struct ll_close_queue *lcq = ll_i2sbi(inode)->ll_lcq;
 
                 if (lli->lli_flags & LLIF_MDS_SIZE_LOCK)
@@ -117,6 +119,7 @@ void ll_queue_done_writing(struct inode *inode, unsigned long flags)
                 spin_unlock(&lcq->lcq_lock);
         }
         spin_unlock(&lli->lli_lock);
+        EXIT;
 }
 
 /** Closes epoch and sends Size-on-MDS attribute update if possible.  Call
@@ -125,10 +128,11 @@ void ll_epoch_close(struct inode *inode, struct md_op_data *op_data,
                     struct obd_client_handle **och, unsigned long flags)
 {
         struct ll_inode_info *lli = ll_i2info(inode);
+        struct ccc_object *club = cl2ccc(ll_i2info(inode)->lli_clob);
         ENTRY;
 
         spin_lock(&lli->lli_lock);
-        if (!(list_empty(&lli->lli_pending_write_llaps))) {
+        if (!(list_empty(&club->cob_pending_list))) {
                 if (!(lli->lli_flags & LLIF_EPOCH_PENDING)) {
                         LASSERT(*och != NULL);
                         LASSERT(lli->lli_pending_och == NULL);
@@ -180,7 +184,7 @@ void ll_epoch_close(struct inode *inode, struct md_op_data *op_data,
                 }
         }
 
-        LASSERT(list_empty(&lli->lli_pending_write_llaps));
+        LASSERT(list_empty(&club->cob_pending_list));
         lli->lli_flags &= ~LLIF_SOM_DIRTY;
         spin_unlock(&lli->lli_lock);
         op_data->op_flags |= MF_SOM_CHANGE;
@@ -202,8 +206,8 @@ out:
         return;
 }
 
-int ll_sizeonmds_update(struct inode *inode, struct md_open_data *mod,
-                        struct lustre_handle *fh, __u64 ioepoch)
+int ll_sizeonmds_update(struct inode *inode, struct lustre_handle *fh,
+                        __u64 ioepoch)
 {
         struct ll_inode_info *lli = ll_i2info(inode);
         struct md_op_data *op_data;
@@ -243,7 +247,7 @@ int ll_sizeonmds_update(struct inode *inode, struct md_open_data *mod,
         op_data->op_ioepoch = ioepoch;
         op_data->op_flags |= MF_SOM_CHANGE;
 
-        rc = ll_md_setattr(inode, op_data, &mod);
+        rc = ll_md_setattr(inode, op_data, NULL);
         EXIT;
 out:
         if (oa)
@@ -278,12 +282,12 @@ static void ll_done_writing(struct inode *inode)
 
         ll_pack_inode2opdata(inode, op_data, &och->och_fh);
 
-        rc = md_done_writing(ll_i2sbi(inode)->ll_md_exp, op_data, och->och_mod);
+        rc = md_done_writing(ll_i2sbi(inode)->ll_md_exp, op_data, NULL);
         if (rc == -EAGAIN) {
                 /* MDS has instructed us to obtain Size-on-MDS attribute from
                  * OSTs and send setattr to back to MDS. */
-                rc = ll_sizeonmds_update(inode, och->och_mod,
-                                         &och->och_fh, op_data->op_ioepoch);
+                rc = ll_sizeonmds_update(inode, &och->och_fh,
+                                         op_data->op_ioepoch);
         } else if (rc) {
                 CERROR("inode %lu mdc done_writing failed: rc = %d\n",
                        inode->i_ino, rc);