linux/generic: update mini_fo for kernels >=2.6.36
authorAlexandros C. Couloumbis <alex@ozo.com>
Thu, 11 Nov 2010 13:48:48 +0000 (13:48 +0000)
committerAlexandros C. Couloumbis <alex@ozo.com>
Thu, 11 Nov 2010 13:48:48 +0000 (13:48 +0000)
SVN-Revision: 23956

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

index ef00b62..79024ad 100644 (file)
@@ -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,
  };
index ef00b62..79024ad 100644 (file)
@@ -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,
  };