linux/fs/f2fs
Jaegeuk Kim 21cb1d99bc f2fs: fix to cover sentry_lock for block allocation
In the following call stack, f2fs changes the bitmap for dirty segments and # of
dirty sentries without grabbing sit_i->sentry_lock.
This can result in mismatch on bitmap and # of dirty sentries, since if there
are some direct_io operations.

In allocate_data_block,
 - __allocate_new_segments
  - mutex_lock(&curseg->curseg_mutex);
  - s_ops->allocate_segment
   - new_curseg/change_curseg
    - reset_curseg
     - __set_sit_entry_type
      - __mark_sit_entry_dirty
       - set_bit(dirty_sentries_bitmap)
       - dirty_sentries++;

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2015-04-10 15:08:43 -07:00
..
acl.c f2fs: fix reference leaks in f2fs_acl_create 2015-04-10 15:08:40 -07:00
acl.h f2fs: avoid deadlock on init_inode_metadata 2014-11-03 16:07:33 -08:00
checkpoint.c f2fs: cleanup statement about max orphan inodes calc 2015-04-10 15:08:38 -07:00
data.c f2fs: fix to check current blkaddr in __allocate_data_blocks 2015-04-10 15:08:42 -07:00
debug.c f2fs: add stat info for moved blocks by background gc 2015-04-10 15:08:32 -07:00
dir.c f2fs: fix to calculate max length of contiguous free slots correctly 2015-04-10 15:08:40 -07:00
f2fs.h f2fs: fix to truncate inline data past EOF 2015-04-10 15:08:41 -07:00
file.c f2fs: fix to truncate inline data past EOF 2015-04-10 15:08:41 -07:00
gc.c f2fs: add stat info for moved blocks by background gc 2015-04-10 15:08:32 -07:00
gc.h f2fs: fix sparse warnings 2015-02-11 17:04:49 -08:00
hash.c f2fs: fix wrong casting for dentry name 2014-08-29 00:26:50 -07:00
inline.c f2fs: fix to truncate inline data past EOF 2015-04-10 15:08:41 -07:00
inode.c f2fs: enable rb-tree extent cache 2015-03-03 09:58:47 -08:00
Kconfig f2fs: relocate Kconfig from misc filesystems 2015-04-10 15:08:35 -07:00
Makefile f2fs: add f2fs_io_tracer support 2015-01-09 17:02:24 -08:00
namei.c f2fs: fix incorrectly stat number of inline data inode 2015-03-03 09:58:45 -08:00
node.c f2fs: fix unlocked nat set cache operation 2015-04-10 15:08:39 -07:00
node.h f2fs: introduce infra macro and data structure of rb-tree extent cache 2015-03-03 09:58:46 -08:00
recovery.c f2fs: avoid wrong error during recovery 2015-03-03 09:58:48 -08:00
segment.c f2fs: fix to cover sentry_lock for block allocation 2015-04-10 15:08:43 -07:00
segment.h f2fs: reduce searching region of segmap when set free section 2015-04-10 15:08:36 -07:00
super.c f2fs: fix extent cache memory leak 2015-04-10 15:08:35 -07:00
trace.c f2fs: fix sparse warnings 2015-02-11 17:04:49 -08:00
trace.h f2fs: add f2fs_destroy_trace_ios to free radix tree 2015-01-09 17:02:28 -08:00
xattr.c f2fs: avoid deadlock on init_inode_metadata 2014-11-03 16:07:33 -08:00
xattr.h f2fs: avoid deadlock on init_inode_metadata 2014-11-03 16:07:33 -08:00