kernel_optimize_test/drivers/md
NeilBrown a7a3f08dc2 md: close race between removing and adding a device.
When we remove a device from an md array, the final removal of
the "dev-XX" sys entry is run asynchronously.
If we then re-add that device immediately before the worker thread
gets to run, we can end up trying to add the "dev-XX" sysfs entry back
before it has been removed.

So in both places where we add a device, call
  flush_workqueue(md_misc_wq);
before taking the md lock (as holding the md lock can prevent removal
to complete).

Signed-off-by: NeilBrown <neilb@suse.de>
2012-12-11 13:35:54 +11:00
..
persistent-data dm persistent data: convert to use le32_add_cpu 2012-10-12 16:59:47 +01:00
bitmap.c md/bitmap:Don't use IS_ERR to judge alloc_page(). 2012-10-11 13:45:36 +11:00
bitmap.h md/bitmap: record the space available for the bitmap in the superblock. 2012-05-22 13:55:34 +10:00
dm-bio-prison.c dm thin: move bio_prison code to separate module 2012-10-12 21:02:13 +01:00
dm-bio-prison.h dm thin: move bio_prison code to separate module 2012-10-12 21:02:13 +01:00
dm-bio-record.h
dm-bufio.c dm: use ACCESS_ONCE for sysfs values 2012-10-12 16:59:46 +01:00
dm-bufio.h dm bufio: prefetch 2012-03-28 18:41:29 +01:00
dm-crypt.c block: Add bio_clone_bioset(), bio_clone_kmalloc() 2012-09-09 10:35:39 +02:00
dm-delay.c dm thin: commit before gathering status 2012-07-27 15:08:16 +01:00
dm-exception-store.c dm: replace simple_strtoul 2012-07-27 15:07:59 +01:00
dm-exception-store.h
dm-flakey.c dm thin: commit before gathering status 2012-07-27 15:08:16 +01:00
dm-io.c block: Generalized bio pool freeing 2012-09-09 10:35:38 +02:00
dm-ioctl.c dm thin: commit before gathering status 2012-07-27 15:08:16 +01:00
dm-kcopyd.c
dm-linear.c dm thin: commit before gathering status 2012-07-27 15:08:16 +01:00
dm-log-userspace-base.c
dm-log-userspace-transfer.c connector/userns: replace netlink uses of cap_raised() with capable() 2012-05-10 23:21:39 -04:00
dm-log-userspace-transfer.h
dm-log.c dm: use memweight() 2012-07-30 17:25:16 -07:00
dm-mpath.c dm mpath: fix check for null mpio in end_io fn 2012-10-12 16:59:42 +01:00
dm-mpath.h
dm-path-selector.c
dm-path-selector.h
dm-queue-length.c dm: reject trailing characters in sccanf input 2012-03-28 18:41:26 +01:00
dm-raid1.c workqueue: deprecate flush[_delayed]_work_sync() 2012-08-20 14:51:24 -07:00
dm-raid.c DM RAID: Fix for "sync" directive ineffectiveness 2012-10-11 13:42:19 +11:00
dm-region-hash.c dm raid1: fix crash with mirror recovery and discard 2012-07-20 14:25:03 +01:00
dm-round-robin.c dm: reject trailing characters in sccanf input 2012-03-28 18:41:26 +01:00
dm-service-time.c dm: reject trailing characters in sccanf input 2012-03-28 18:41:26 +01:00
dm-snap-persistent.c
dm-snap-transient.c
dm-snap.c dm thin: commit before gathering status 2012-07-27 15:08:16 +01:00
dm-stripe.c workqueue: deprecate flush[_delayed]_work_sync() 2012-08-20 14:51:24 -07:00
dm-sysfs.c
dm-table.c dm: retain table limits when swapping to new table with no devices 2012-09-26 23:45:45 +01:00
dm-target.c
dm-thin-metadata.c dm thin metadata: introduce dm_pool_abort_metadata 2012-07-27 15:08:15 +01:00
dm-thin-metadata.h dm thin metadata: introduce dm_pool_abort_metadata 2012-07-27 15:08:15 +01:00
dm-thin.c dm thin: move bio_prison code to separate module 2012-10-12 21:02:13 +01:00
dm-uevent.c
dm-uevent.h
dm-verity.c dm: use ACCESS_ONCE for sysfs values 2012-10-12 16:59:46 +01:00
dm-zero.c
dm.c dm: store dm_target_io in bio front_pad 2012-10-12 21:02:15 +01:00
dm.h dm: retain table limits when swapping to new table with no devices 2012-09-26 23:45:45 +01:00
faulty.c md faulty: use disk_stack_limits() 2012-10-22 10:44:55 +11:00
Kconfig dm thin: move bio_prison code to separate module 2012-10-12 21:02:13 +01:00
linear.c md: linear supports TRIM 2012-10-11 13:08:44 +11:00
linear.h
Makefile dm thin: move bio_prison code to separate module 2012-10-12 21:02:13 +01:00
md.c md: close race between removing and adding a device. 2012-12-11 13:35:54 +11:00
md.h Subject: [PATCH] md:change resync_mismatches to atomic64_t to avoid races 2012-10-11 14:17:59 +11:00
multipath.c MD: change the parameter of md thread 2012-10-11 13:34:00 +11:00
multipath.h
raid0.c md: raid 0 supports TRIM 2012-10-11 13:25:44 +11:00
raid0.h md: add proper merge_bvec handling to RAID0 and Linear. 2012-03-19 12:46:39 +11:00
raid1.c md/raid1{,0}: fix deadlock in bitmap_unplug. 2012-11-27 12:14:40 +11:00
raid1.h md/raid1: prevent merging too large request 2012-07-31 10:03:53 +10:00
raid5.c md/raid5: Make sure we clear R5_Discard when discard is finished. 2012-11-22 09:14:13 +11:00
raid5.h MD: raid5 trim support 2012-10-11 13:49:05 +11:00
raid10.c md/raid1{,0}: fix deadlock in bitmap_unplug. 2012-11-27 12:14:40 +11:00
raid10.h md/raid10: fix problem with on-stack allocation of r10bio structure. 2012-08-18 09:51:42 +10:00