]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - fs/xfs/xfs_trans_buf.c
Merge branch 'raid56-experimental' into for-linus-3.9
[karo-tx-linux.git] / fs / xfs / xfs_trans_buf.c
index f7510bf68284a296daca3821213a421a39018929..3edf5dbee001c60239a11254dbd697c7602e9b06 100644 (file)
@@ -643,6 +643,7 @@ xfs_trans_binval(
        xfs_buf_t       *bp)
 {
        xfs_buf_log_item_t      *bip = bp->b_fspriv;
+       int                     i;
 
        ASSERT(bp->b_transp == tp);
        ASSERT(bip != NULL);
@@ -670,8 +671,10 @@ xfs_trans_binval(
        bip->bli_flags &= ~(XFS_BLI_INODE_BUF | XFS_BLI_LOGGED | XFS_BLI_DIRTY);
        bip->__bli_format.blf_flags &= ~XFS_BLF_INODE_BUF;
        bip->__bli_format.blf_flags |= XFS_BLF_CANCEL;
-       memset((char *)(bip->__bli_format.blf_data_map), 0,
-             (bip->__bli_format.blf_map_size * sizeof(uint)));
+       for (i = 0; i < bip->bli_format_count; i++) {
+               memset(bip->bli_formats[i].blf_data_map, 0,
+                      (bip->bli_formats[i].blf_map_size * sizeof(uint)));
+       }
        bip->bli_item.li_desc->lid_flags |= XFS_LID_DIRTY;
        tp->t_flags |= XFS_TRANS_DIRTY;
 }