]> Pileus Git - ~andy/linux/blobdiff - fs/udf/udf_i.h
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux...
[~andy/linux] / fs / udf / udf_i.h
index bb8309dcd5c1bd2d797b5e774e86c8e2d97e529f..b5cd8ed2aa12ff3e27a8b3681886152943bf3af4 100644 (file)
@@ -1,6 +1,19 @@
 #ifndef _UDF_I_H
 #define _UDF_I_H
 
+struct extent_position {
+       struct buffer_head *bh;
+       uint32_t offset;
+       struct kernel_lb_addr block;
+};
+
+struct udf_ext_cache {
+       /* Extent position */
+       struct extent_position epos;
+       /* Start logical offset in bytes */
+       loff_t lstart;
+};
+
 /*
  * The i_data_sem and i_mutex serve for protection of allocation information
  * of a regular files and symlinks. This includes all extents belonging to
@@ -35,6 +48,9 @@ struct udf_inode_info {
                __u8            *i_data;
        } i_ext;
        struct rw_semaphore     i_data_sem;
+       struct udf_ext_cache cached_extent;
+       /* Spinlock for protecting extent cache */
+       spinlock_t i_extent_cache_lock;
        struct inode vfs_inode;
 };