patch-2.4.1 linux/include/linux/reiserfs_fs_i.h

Next file: linux/include/linux/reiserfs_fs_sb.h
Previous file: linux/include/linux/reiserfs_fs.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0/linux/include/linux/reiserfs_fs_i.h linux/include/linux/reiserfs_fs_i.h
@@ -0,0 +1,63 @@
+#ifndef _REISER_FS_I
+#define _REISER_FS_I
+
+/* these are used to keep track of the pages that need
+** flushing before the current transaction can commit
+*/
+struct reiserfs_page_list ;
+
+struct reiserfs_inode_info {
+  __u32 i_key [4];/* key is still 4 32 bit integers */
+  
+				/* this comment will be totally
+                                   cryptic to readers not familiar
+                                   with 3.5/3.6 format conversion, and
+                                   it does not consider that that 3.6
+                                   might not be the last version */
+  int i_version;  // this says whether file is old or new
+
+  int i_pack_on_close ; // file might need tail packing on close 
+
+  __u32 i_first_direct_byte; // offset of first byte stored in direct item.
+
+  /* pointer to the page that must be flushed before 
+  ** the current transaction can commit.
+  **
+  ** this pointer is only used when the tail is converted back into
+  ** a direct item, or the file is deleted
+  */
+  struct reiserfs_page_list *i_converted_page ;
+
+  /* we save the id of the transaction when we did the direct->indirect
+  ** conversion.  That allows us to flush the buffers to disk
+  ** without having to update this inode to zero out the converted
+  ** page variable
+  */
+  int i_conversion_trans_id ;
+
+				/* My guess is this contains the first
+                                   unused block of a sequence of
+                                   blocks plus the length of the
+                                   sequence, which I think is always
+                                   at least two at the time of the
+                                   preallocation.  I really prefer
+                                   allocate on flush conceptually.....
+
+				   You know, it really annoys me when
+				   code is this badly commented that I
+				   have to guess what it does.
+				   Neither I nor anyone else has time
+				   for guessing what your
+				   datastructures mean.  -Hans */
+  //For preallocation
+  int i_prealloc_block;
+  int i_prealloc_count;
+
+				/* I regret that you think the below
+                                   is a comment you should make.... -Hans */
+  //nopack-attribute
+  int nopack;
+};
+
+
+#endif

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)