Files
odroid-linux/include/linux
Tejun Heo aaa2cacf81 writeback: add lockdep annotation to inode_to_wb()
With the previous three patches, all operations which acquire wb from
inode are either under one of inode->i_lock, mapping->tree_lock or
wb->list_lock or protected by unlocked_inode_to_wb transaction.  This
will be depended upon by foreign inode wb switching.

This patch adds lockdep assertion to inode_to_wb() so that usages
outside the above list locks can be caught easily.  There are three
exceptions.

* locked_inode_to_wb_and_lock_list() is holding wb->list_lock but the
  wb may not be the inode's.  Ensuring that is the function's role
  after all.  Updated to deref inode->i_wb directly.

* inode_wb_stat_unlocked_begin() is usually protected by combination
  of !I_WB_SWITCH and rcu_read_lock().  Updated to deref inode->i_wb
  directly.

* inode_congested() wants to test whether inode->i_wb is set before
  starting the transaction.  Added inode_to_wb_is_valid() which tests
  inode->i_wb directly.

v5: might_lock() removed.  It annotates that the lock is grabbed w/
    irq enabled which isn't the case and triggering lockdep warning
    spuriously.

v4: might_lock() added to unlocked_inode_to_wb_begin().

v3: inode_congested() conversion added.

v2: locked_inode_to_wb_and_lock_list() was missing in the first
    version.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Jan Kara <jack@suse.cz>
Cc: Wu Fengguang <fengguang.wu@intel.com>
Cc: Greg Thelen <gthelen@google.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
2015-06-02 08:40:20 -06:00
..
2014-09-22 16:48:47 +09:00
2015-03-29 16:17:10 +01:00
2014-11-24 17:24:08 -05:00
2015-01-29 10:49:28 +02:00
2015-04-07 11:17:34 +02:00
2015-03-25 20:28:11 -04:00
2015-06-02 08:33:34 -06:00
2015-04-17 09:03:53 -04:00
2015-06-01 14:35:56 -06:00
2015-03-11 15:56:59 -07:00
2015-04-16 12:33:51 +09:30
2015-02-12 18:54:15 -08:00
2014-12-19 22:55:06 +01:00
2015-01-21 19:21:30 +01:00
2014-11-10 09:27:30 -07:00
2015-03-02 16:43:41 -05:00
2014-01-16 10:23:02 +10:30
2014-04-01 23:19:14 -04:00
2014-12-31 13:06:50 -05:00
2014-10-09 11:35:48 +03:00
2014-10-08 16:01:41 -04:00
2014-04-18 14:20:48 +02:00
2014-08-06 18:01:24 -07:00
2014-05-20 10:30:40 +09:00
2015-02-18 15:08:33 +01:00
2015-03-16 21:45:54 +11:00
2015-04-03 16:18:02 +02:00
2014-01-16 11:15:50 +01:00
2015-05-05 13:40:42 -06:00
2014-06-06 16:08:13 -07:00
2015-01-27 11:09:13 +01:00
2014-09-29 15:37:01 -04:00
2014-06-02 14:56:01 -07:00
2014-03-13 12:11:00 +10:30
2015-01-15 10:34:54 +01:00
2015-01-15 10:34:54 +01:00
2015-02-13 21:21:36 -08:00
2014-07-22 21:55:45 +01:00
2014-12-18 09:39:51 +01:00
2015-01-04 23:11:43 -05:00
2014-05-27 17:38:11 -07:00
2015-04-14 16:49:05 -07:00
2015-03-25 11:44:52 +01:00
2015-04-17 09:04:07 -04:00
2014-10-09 22:25:58 -04:00
2015-03-31 12:04:12 +02:00
2014-03-04 13:51:06 -05:00
2014-01-27 21:02:39 -08:00
2015-04-23 14:36:28 -04:00
2014-01-25 03:14:05 -05:00
2014-04-07 10:59:19 -07:00
2015-03-11 17:56:28 -04:00
2014-11-04 13:29:38 +00:00
2014-07-09 14:58:37 +01:00
2015-04-12 21:03:31 +02:00
2015-01-25 23:17:28 -05:00
2015-02-17 14:34:52 -08:00
2015-01-06 11:01:13 -08:00
2015-02-24 08:44:16 +01:00
2015-03-26 18:18:20 +01:00
2014-08-08 15:57:26 -07:00
2014-08-08 15:57:31 -07:00
2015-04-25 15:49:49 -04:00
2015-02-13 21:21:41 -08:00
2015-03-11 21:55:28 -04:00
2015-04-11 15:53:35 -04:00
2015-01-03 14:32:57 -05:00
2014-06-12 00:21:11 -04:00
2015-02-13 21:21:35 -08:00
2015-05-19 09:19:59 -06:00
2014-06-04 16:53:57 -07:00
2015-03-25 13:28:58 +01:00
2014-06-04 16:53:56 -07:00
2015-04-11 22:29:44 -04:00
2014-11-28 16:08:16 +01:00
2014-12-09 12:05:24 +02:00
2014-04-07 16:35:53 -07:00
2014-06-04 16:53:57 -07:00
2014-12-15 23:49:28 +02:00
2015-03-24 09:48:14 -07:00
2015-04-15 16:35:20 -07:00