diff options
-rw-r--r-- | target/linux/generic/patches-2.6.36/217-mini_fo_2.6.36_fixes.patch | 31 | ||||
-rw-r--r-- | target/linux/generic/patches-2.6.37/217-mini_fo_2.6.36_fixes.patch | 31 |
2 files changed, 44 insertions, 18 deletions
diff --git a/target/linux/generic/patches-2.6.36/217-mini_fo_2.6.36_fixes.patch b/target/linux/generic/patches-2.6.36/217-mini_fo_2.6.36_fixes.patch index ef00b621f..79024adbb 100644 --- a/target/linux/generic/patches-2.6.36/217-mini_fo_2.6.36_fixes.patch +++ b/target/linux/generic/patches-2.6.36/217-mini_fo_2.6.36_fixes.patch @@ -1,30 +1,43 @@ --- a/fs/mini_fo/super.c +++ b/fs/mini_fo/super.c -@@ -117,8 +117,11 @@ mini_fo_delete_inode(inode_t *inode) +@@ -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"); +- 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 */ ++ 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); -+ dquot_drop(inode); -+ inode->i_blocks = 0; -+ print_exit_location(); } -@@ -300,11 +303,11 @@ struct super_operations mini_fo_sops = +@@ -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_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, -+ evict_inode: mini_fo_clear_inode, umount_begin: mini_fo_umount_begin, }; diff --git a/target/linux/generic/patches-2.6.37/217-mini_fo_2.6.36_fixes.patch b/target/linux/generic/patches-2.6.37/217-mini_fo_2.6.36_fixes.patch index ef00b621f..79024adbb 100644 --- a/target/linux/generic/patches-2.6.37/217-mini_fo_2.6.36_fixes.patch +++ b/target/linux/generic/patches-2.6.37/217-mini_fo_2.6.36_fixes.patch @@ -1,30 +1,43 @@ --- a/fs/mini_fo/super.c +++ b/fs/mini_fo/super.c -@@ -117,8 +117,11 @@ mini_fo_delete_inode(inode_t *inode) +@@ -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"); +- 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 */ ++ 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); -+ dquot_drop(inode); -+ inode->i_blocks = 0; -+ print_exit_location(); } -@@ -300,11 +303,11 @@ struct super_operations mini_fo_sops = +@@ -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_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, -+ evict_inode: mini_fo_clear_inode, umount_begin: mini_fo_umount_begin, }; |