--- a/fs/mini_fo/super.c
+++ b/fs/mini_fo/super.c
-@@ -296,11 +296,19 @@ struct super_operations mini_fo_sops =
+@@ -117,8 +117,11 @@ mini_fo_delete_inode(inode_t *inode)
+ print_entry_location();
+
+ fist_checkinode(inode, "mini_fo_delete_inode IN");
+- inode->i_size = 0; /* every f/s seems to do that */
+- clear_inode(inode);
++ // inode->i_size = 0; /* every f/s seems to do that */
++ end_writeback(inode);
++ dquot_drop(inode);
++ inode->i_blocks = 0;
++
+
+ print_exit_location();
+ }
+@@ -296,11 +299,11 @@ struct super_operations mini_fo_sops =
put_inode: mini_fo_put_inode,
#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(2,6,26) */
#if defined(FIST_DEBUG) || defined(FIST_FILTER_SCA)
-+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,35)
+- delete_inode: mini_fo_delete_inode,
+ evict_inode: mini_fo_delete_inode,
-+#else
- delete_inode: mini_fo_delete_inode,
-+#endif
#endif /* defined(FIST_DEBUG) || defined(FIST_FILTER_SCA) */
put_super: mini_fo_put_super,
statfs: mini_fo_statfs,
remount_fs: mini_fo_remount_fs,
-+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,35)
+- clear_inode: mini_fo_clear_inode,
+ evict_inode: mini_fo_clear_inode,
-+#else
- clear_inode: mini_fo_clear_inode,
-+#endif
umount_begin: mini_fo_umount_begin,
};