[PATCH v6 0/2] blktrace: Fix deadlock problem

From: Waiman Long
Date: Mon Sep 18 2017 - 14:54:31 EST


v6:
- Add a second patch to rename the bd_fsfreeze_mutex to
bd_fsfreeze_blktrace_mutex.

v5:
- Overload the bd_fsfreeze_mutex in block_device structure for
blktrace protection.

v4:
- Use blktrace_mutex in blk_trace_ioctl() as well.

v3:
- Use a global blktrace_mutex to serialize sysfs attribute accesses
instead of the bd_mutex.

v2:
- Use READ_ONCE() and smp_store_mb() to read and write bd_deleting.
- Check for signal in the mutex_trylock loops.
- Use usleep() instead of schedule() for RT tasks.

This patchset fixes a potential blktrace deadlock problem between
block device deletion and sysfs operations.

Waiman Long (2):
blktrace: Fix potentail deadlock between delete & sysfs ops
block_dev: Rename bd_fsfreeze_mutex

fs/block_dev.c | 14 +++++++-------
fs/gfs2/ops_fstype.c | 6 +++---
fs/nilfs2/super.c | 6 +++---
fs/super.c | 6 +++---
include/linux/fs.h | 5 +++--
kernel/trace/blktrace.c | 26 ++++++++++++++++++++------
6 files changed, 39 insertions(+), 24 deletions(-)

--
1.8.3.1