]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commit - fs/ext4/page-io.c
ext4: Use correct locking for ext4_end_io_nolock()
authorTao Ma <boyu.mt@taobao.com>
Sun, 30 Oct 2011 22:26:08 +0000 (18:26 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Sun, 30 Oct 2011 22:26:08 +0000 (18:26 -0400)
commitd73d5046a72467d4510825b99e2269e09ad80e15
tree4ac8b5729e1aeffe8348557a7f77da1791c268cc
parent6d6a435190bdf2e04c9465cde5bdc3ac68cf11a4
ext4: Use correct locking for ext4_end_io_nolock()

We must hold i_completed_io_lock when manipulating anything on the
i_completed_io_list linked list.  This includes io->lock, which we
were checking in ext4_end_io_nolock().

So move this check to ext4_end_io_work().  This also has the bonus of
avoiding extra work if it is already done without needing to take the
mutex.

Signed-off-by: Tao Ma <boyu.mt@taobao.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
fs/ext4/fsync.c
fs/ext4/page-io.c