wifipineapple-openwrt/target/linux/generic/patches-2.6.36/217-mini_fo_2.6.36_fixes.patch

44 lines
1.4 KiB
Diff

--- a/fs/mini_fo/super.c
+++ b/fs/mini_fo/super.c
@@ -76,7 +76,7 @@ mini_fo_read_inode(inode_t *inode)
* to write some of our own stuff to disk.
*/
STATIC void
-mini_fo_write_inode(inode_t *inode, int sync)
+mini_fo_write_inode(inode_t *inode, struct writeback_control *wbc)
{
print_entry_location();
print_exit_location();
@@ -112,13 +112,14 @@ mini_fo_put_inode(inode_t *inode)
* on our and the lower inode.
*/
STATIC void
-mini_fo_delete_inode(inode_t *inode)
+mini_fo_evict_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);
+ fist_checkinode(inode, "mini_fo_evict_inode IN");
+ truncate_inode_pages(&inode->i_data, 0); /* FIXME: do we need this? */
+ invalidate_inode_buffers(inode);
+ end_writeback(inode);
print_exit_location();
}
@@ -300,11 +301,10 @@ 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)
- delete_inode: mini_fo_delete_inode,
+ evict_inode: mini_fo_evict_inode,
#endif /* defined(FIST_DEBUG) || defined(FIST_FILTER_SCA) */
put_super: mini_fo_put_super,
statfs: mini_fo_statfs,
remount_fs: mini_fo_remount_fs,
- clear_inode: mini_fo_clear_inode,
umount_begin: mini_fo_umount_begin,
};