Ingo Molnar 663d440eaa [PATCH] lockdep: annotate blkdev nesting
Teach special (recursive) locking code to the lock validator.

Effects on non-lockdep kernels:

- the introduction of the following function variants:

  extern struct block_device *open_partition_by_devnum(dev_t, unsigned);

  extern int blkdev_put_partition(struct block_device *);

  static int
  blkdev_get_whole(struct block_device *bdev, mode_t mode, unsigned flags);

 which on non-lockdep are the same as open_by_devnum(), blkdev_put()
 and blkdev_get().

- a subclass parameter to do_open(). [unused on non-lockdep]

- a subclass parameter to __blkdev_put(), which is a new internal
  function for the main blkdev_put*() functions. [parameter unused
  on non-lockdep kernels, except for two sanity check WARN_ON()s]

these functions carry no semantical difference - they only express
object dependencies towards the lockdep subsystem.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Cc: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-07-03 15:27:10 -07:00
..
2006-06-26 09:58:18 -07:00
2006-06-30 18:23:04 +02:00
2006-07-02 15:10:20 -07:00
2006-06-26 18:35:02 +02:00
2006-01-11 18:42:13 -08:00
2006-01-10 08:01:25 -08:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-07-03 15:27:06 -07:00
2006-01-08 20:12:40 -08:00
2006-04-02 13:37:19 +02:00
2006-04-11 13:53:33 +02:00
2005-10-30 17:37:32 -08:00
2006-06-29 14:56:12 -07:00
2006-06-26 09:58:17 -07:00
2006-03-28 09:16:08 -08:00
2006-06-23 07:42:49 -07:00
2006-07-03 15:27:06 -07:00
2006-06-26 09:58:17 -07:00
2005-11-07 18:18:11 -08:00
2005-04-16 15:20:36 -07:00
2006-03-23 07:38:11 -08:00
2006-03-23 07:38:11 -08:00
2006-03-23 07:38:12 -08:00
2006-06-23 07:42:49 -07:00
2005-04-16 15:20:36 -07:00