diff options
author | Christoph Hellwig <hch@infradead.org> | 2011-06-24 14:29:40 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2011-07-20 20:47:44 -0400 |
commit | 582686915803e34adc8fdcd90bff7ca7f6a42221 (patch) | |
tree | 5a522cb6dbc41eaac987dbf15a2cbae35b2544cc /fs/fat/fat.h | |
parent | 8c5dc70aae29d2571c0f461d69b37e4e6e01ff4c (diff) | |
download | op-kernel-dev-582686915803e34adc8fdcd90bff7ca7f6a42221.zip op-kernel-dev-582686915803e34adc8fdcd90bff7ca7f6a42221.tar.gz |
fat: remove i_alloc_sem abuse
Add a new rw_semaphore to protect bmap against truncate. Previous
i_alloc_sem was abused for this, but it's going away in this series.
Note that we can't simply use i_mutex, given that the swapon code
calls ->bmap under it.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/fat/fat.h')
-rw-r--r-- | fs/fat/fat.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/fat/fat.h b/fs/fat/fat.h index 8276cc2..a975b41 100644 --- a/fs/fat/fat.h +++ b/fs/fat/fat.h @@ -109,6 +109,7 @@ struct msdos_inode_info { int i_attrs; /* unused attribute bits */ loff_t i_pos; /* on-disk position of directory entry or 0 */ struct hlist_node i_fat_hash; /* hash by i_location */ + struct rw_semaphore truncate_lock; /* protect bmap against truncate */ struct inode vfs_inode; }; |