Looks ok:
Reviewed by: Allison Henderson <allison.henderson@xxxxxxxxxx>
On 05/25/2018 03:12 PM, Darrick J. Wong wrote:
From: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
Buffers are created locked, so we have to factor that into the buffer
state machine that the script utilizes.
Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
---
tools/xfsbuflock.py | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/tools/xfsbuflock.py b/tools/xfsbuflock.py
index 954f0954..8f38f9f0 100755
--- a/tools/xfsbuflock.py
+++ b/tools/xfsbuflock.py
@@ -91,6 +91,13 @@ class Buffer:
if not self.locked:
self.lockdone(process, time)
+ def init(self, process, time):
+ # Buffers are initialized locked, but we could be allocating
+ # a surplus buffer while trying to grab a buffer that may or
+ # may not already exist.
+ if not self.locked:
+ self.lockdone(process, time)
+
def lockdone(self, process, time):
if self.locked:
print('Buffer 0x%x already locked at line %d? (line %d)' % \
@@ -183,6 +190,10 @@ for line in fileinput.input():
buf = getbuf(toks)
if buf is not None:
buf.trylock(proc, time)
+ elif fn == 'xfs_buf_init':
+ buf = getbuf(toks)
+ if buf is not None:
+ buf.init(proc, time)
elif fn == 'xfs_buf_item_unlock':
pass
else:
--
To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at https://urldefense.proofpoint.com/v2/url?u=http-3A__vger.kernel.org_majordomo-2Dinfo.html&d=DwICaQ&c=RoP1YumCXCgaWHvlZYR8PZh8Bv7qIrMUB65eapI_JnE&r=LHZQ8fHvy6wDKXGTWcm97burZH5sQKHRDMaY1UthQxc&m=ZceT9igTX4NtDB5x4zRNsz3TmN4D9IUS-PIL2AEkKxI&s=VCNmW1CRDq3QALM6L6wQiTmHHrEeGSZVf4H7GUBQG2w&e=
--
To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html