Yan, Zheng b415bf4f9f ceph: fix pending vmtruncate race
The locking order for pending vmtruncate is wrong, it can lead to
following race:

        write                  wmtruncate work
------------------------    ----------------------
lock i_mutex
check i_truncate_pending   check i_truncate_pending
truncate_inode_pages()     lock i_mutex (blocked)
copy data to page cache
unlock i_mutex
                           truncate_inode_pages()

The fix is take i_mutex before calling __ceph_do_pending_vmtruncate()

Fixes: http://tracker.ceph.com/issues/5453
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2013-07-03 15:32:56 -07:00
..
2013-05-07 20:16:25 -07:00
2013-05-07 20:16:25 -07:00
2013-07-03 15:32:56 -07:00
2013-05-07 20:16:25 -07:00
2013-05-08 15:11:48 -07:00
2013-03-12 18:55:21 -07:00
2013-06-03 16:40:22 +01:00
2013-05-24 16:22:51 -07:00
2013-04-29 15:41:42 -04:00
2013-03-12 18:55:21 -07:00
2013-03-23 14:15:31 -07:00
2013-05-07 20:16:25 -07:00
2013-05-09 16:42:10 -07:00
2013-03-12 18:55:21 -07:00
2013-06-29 12:45:37 +04:00
2013-05-07 20:16:25 -07:00
2013-04-29 15:40:23 -04:00
2012-10-22 08:50:37 +03:00
2013-05-07 20:16:25 -07:00
2013-03-03 23:00:23 -05:00
2013-02-22 23:31:31 -05:00
2013-02-22 23:31:31 -05:00
2013-04-17 13:25:09 +01:00
2012-12-20 18:46:29 -05:00
2013-02-22 23:31:31 -05:00
2013-05-07 20:16:25 -07:00
2013-05-31 15:16:33 -04:00
2013-02-22 23:31:31 -05:00
2013-04-09 14:13:29 -04:00
2013-02-26 02:46:08 -05:00