Messages in this thread | | | Date | Thu, 17 Aug 2017 19:23:43 -0400 | From | Steven Rostedt <> | Subject | Re: [PATCH v2] blktrace: Fix potentail deadlock between delete & sysfs ops |
| |
On Thu, 17 Aug 2017 18:18:18 -0400 Steven Rostedt <rostedt@goodmis.org> wrote:
> On Thu, 17 Aug 2017 18:13:20 -0400 > Steven Rostedt <rostedt@goodmis.org> wrote: > > > On Thu, 17 Aug 2017 17:27:22 -0400 > > Waiman Long <longman@redhat.com> wrote: > > > > > > > It is actually what the patch is trying to do by checking for the > > > deletion flag in the mutex_trylock loop. Please note that mutex does not > > > guarantee FIFO ordering of lock acquisition. As a result, cpu1 may call > > > mutex_lock() and wait for it while cpu2 can set the deletion flag later > > > and get the mutex first before cpu1. So checking for the deletion flag > > > before taking the mutex isn't enough. > > > > Yeah, I figured that out already (crossed emails). BTW, how did you > > trigger this warning. I'm playing around with adding loop devices, > > volume groups, and logical volumes, and reading the trace files > > created in the sysfs directory, then removing those items, but it's > > not triggering the "delete" path. What operation deletes the partition? > > I'm guessing that deleting an actual partition may work (unfortunately, > my test box has no partition to delete ;-) I'll find another box to > test on. >
OK, deleting a partition doesn't trigger the lockdep splat. But I also added a printk in the BLKPG_DEL_PARTITION case switch, which also doesn't print. What command do I need to do to trigger that path?
Thanks,
-- Steve
| |