diff options
| author | Yan, Zheng <zheng.yan@oracle.com> | 2009-11-12 09:34:21 +0000 | 
|---|---|---|
| committer | Chris Mason <chris.mason@oracle.com> | 2009-12-17 12:33:24 -0500 | 
| commit | c216775458a2ee345d9412a2770c2916acfb5d30 (patch) | |
| tree | 41a947a9d254aeeef40b7e42162d80646477f30a /fs/btrfs/btrfs_inode.h | |
| parent | 920bbbfb05c9fce22e088d20eb9dcb8f96342de9 (diff) | |
| download | olio-linux-3.10-c216775458a2ee345d9412a2770c2916acfb5d30.tar.xz olio-linux-3.10-c216775458a2ee345d9412a2770c2916acfb5d30.zip  | |
Btrfs: Fix disk_i_size update corner case
There are some cases file extents are inserted without involving
ordered struct. In these cases, we update disk_i_size directly,
without checking pending ordered extent and DELALLOC bit. This
patch extends btrfs_ordered_update_i_size() to handle these cases.
Signed-off-by: Yan Zheng <zheng.yan@oracle.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/btrfs_inode.h')
| -rw-r--r-- | fs/btrfs/btrfs_inode.h | 5 | 
1 files changed, 1 insertions, 4 deletions
diff --git a/fs/btrfs/btrfs_inode.h b/fs/btrfs/btrfs_inode.h index f6783a42f01..3f1f50d9d91 100644 --- a/fs/btrfs/btrfs_inode.h +++ b/fs/btrfs/btrfs_inode.h @@ -44,9 +44,6 @@ struct btrfs_inode {  	 */  	struct extent_io_tree io_failure_tree; -	/* held while inesrting or deleting extents from files */ -	struct mutex extent_mutex; -  	/* held while logging the inode in tree-log.c */  	struct mutex log_mutex; @@ -166,7 +163,7 @@ static inline struct btrfs_inode *BTRFS_I(struct inode *inode)  static inline void btrfs_i_size_write(struct inode *inode, u64 size)  { -	inode->i_size = size; +	i_size_write(inode, size);  	BTRFS_I(inode)->disk_i_size = size;  }  |