Re: [PATCH v2] blktrace: Fix potentail deadlock between delete & sysfs ops
From: Steven Rostedt
Date: Thu Aug 17 2017 - 19:23:53 EST
On Thu, 17 Aug 2017 18:18:18 -0400
Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
> On Thu, 17 Aug 2017 18:13:20 -0400
> Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
>
> > On Thu, 17 Aug 2017 17:27:22 -0400
> > Waiman Long <longman@xxxxxxxxxx> 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