- Release reserved blocks if defrag failed.

Signed-off-by: Takashi Sato <[EMAIL PROTECTED]>
Signed-off-by: Akira Fujita <[EMAIL PROTECTED]>
---
diff -X Online-Defrag_linux-2.6.19-rc6-git/Documentation/dontdiff -upNr 
Online-Defrag_linux-2.6.19-rc6-git-BLOCK_RELEASE/fs/ext4/extents.c 
Online-Defrag_linux-2.6.19-rc6-git-lg-mballoc-bugfix/fs/ext4/extents.c
--- Online-Defrag_linux-2.6.19-rc6-git-BLOCK_RELEASE/fs/ext4/extents.c  
2007-06-19 20:19:14.000000000 +0900
+++ Online-Defrag_linux-2.6.19-rc6-git-lg-mballoc-bugfix/fs/ext4/extents.c      
2007-06-18 14:23:07.000000000 +0900
@@ -3066,6 +3066,10 @@ int ext4_ext_ioctl(struct inode *inode, 
 
                err = ext4_ext_defrag_victim(filp, &ext_info);
 
+       } else if (cmd == EXT4_IOC_BLOCK_RELEASE) {
+               mutex_lock(&EXT4_I(inode)->truncate_mutex);
+               ext4_discard_reservation(inode);
+               mutex_unlock(&EXT4_I(inode)->truncate_mutex);
        } else if (cmd == EXT4_IOC_DEFRAG) {
                struct ext4_ext_defrag_data defrag;
 
-
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to