linux/generic: update mini_fo for kernels >=2.6.36
SVN-Revision: 23956
This commit is contained in:
parent
18dd104885
commit
7fb5461594
2 changed files with 44 additions and 18 deletions
|
@ -1,30 +1,43 @@
|
||||||
--- a/fs/mini_fo/super.c
|
--- a/fs/mini_fo/super.c
|
||||||
+++ b/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();
|
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 */
|
- inode->i_size = 0; /* every f/s seems to do that */
|
||||||
- clear_inode(inode);
|
- 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);
|
+ end_writeback(inode);
|
||||||
+ dquot_drop(inode);
|
|
||||||
+ inode->i_blocks = 0;
|
|
||||||
+
|
|
||||||
|
|
||||||
print_exit_location();
|
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,
|
put_inode: mini_fo_put_inode,
|
||||||
#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(2,6,26) */
|
#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(2,6,26) */
|
||||||
#if defined(FIST_DEBUG) || defined(FIST_FILTER_SCA)
|
#if defined(FIST_DEBUG) || defined(FIST_FILTER_SCA)
|
||||||
- delete_inode: mini_fo_delete_inode,
|
- 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) */
|
#endif /* defined(FIST_DEBUG) || defined(FIST_FILTER_SCA) */
|
||||||
put_super: mini_fo_put_super,
|
put_super: mini_fo_put_super,
|
||||||
statfs: mini_fo_statfs,
|
statfs: mini_fo_statfs,
|
||||||
remount_fs: mini_fo_remount_fs,
|
remount_fs: mini_fo_remount_fs,
|
||||||
- clear_inode: mini_fo_clear_inode,
|
- clear_inode: mini_fo_clear_inode,
|
||||||
+ evict_inode: mini_fo_clear_inode,
|
|
||||||
umount_begin: mini_fo_umount_begin,
|
umount_begin: mini_fo_umount_begin,
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,30 +1,43 @@
|
||||||
--- a/fs/mini_fo/super.c
|
--- a/fs/mini_fo/super.c
|
||||||
+++ b/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();
|
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 */
|
- inode->i_size = 0; /* every f/s seems to do that */
|
||||||
- clear_inode(inode);
|
- 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);
|
+ end_writeback(inode);
|
||||||
+ dquot_drop(inode);
|
|
||||||
+ inode->i_blocks = 0;
|
|
||||||
+
|
|
||||||
|
|
||||||
print_exit_location();
|
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,
|
put_inode: mini_fo_put_inode,
|
||||||
#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(2,6,26) */
|
#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(2,6,26) */
|
||||||
#if defined(FIST_DEBUG) || defined(FIST_FILTER_SCA)
|
#if defined(FIST_DEBUG) || defined(FIST_FILTER_SCA)
|
||||||
- delete_inode: mini_fo_delete_inode,
|
- 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) */
|
#endif /* defined(FIST_DEBUG) || defined(FIST_FILTER_SCA) */
|
||||||
put_super: mini_fo_put_super,
|
put_super: mini_fo_put_super,
|
||||||
statfs: mini_fo_statfs,
|
statfs: mini_fo_statfs,
|
||||||
remount_fs: mini_fo_remount_fs,
|
remount_fs: mini_fo_remount_fs,
|
||||||
- clear_inode: mini_fo_clear_inode,
|
- clear_inode: mini_fo_clear_inode,
|
||||||
+ evict_inode: mini_fo_clear_inode,
|
|
||||||
umount_begin: mini_fo_umount_begin,
|
umount_begin: mini_fo_umount_begin,
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue