Revision bbb495c2ed9d34894cb3d6d366866fc92a2e1adc authored by Josef Bacik on 14 October 2011, 17:37:45 UTC, committed by Josef Bacik on 19 October 2011, 19:12:56 UTC
Before the only reason to commit the transaction to recover space in
reserve_metadata_bytes() was if there were enough pinned_bytes to satisfy our
reservation.  But now we have the delayed inode stuff which will hold it's
reservations until we commit the transaction.  So say we max out our reservation
by creating a bunch of files but don't have any pinned bytes we will ENOSPC out
early even though we could commit the transaction and get that space back.  So
now just unconditionally commit the transaction since currently there is no way
to know how much metadata space is being reserved by delayed inode stuff.
Thanks,

Signed-off-by: Josef Bacik <josef@redhat.com>
1 parent ed3ee9f
Raw File
t2-l1-pi.tst
#
# RT-Mutex test
#
# Op: C(ommand)/T(est)/W(ait)
# |  opcode
# |  |     threadid: 0-7
# |  |     |  opcode argument
# |  |     |  |
# C: lock: 0: 0
#
# Commands
#
# opcode	opcode argument
# schedother	nice value
# schedfifo	priority
# lock		lock nr (0-7)
# locknowait	lock nr (0-7)
# lockint	lock nr (0-7)
# lockintnowait	lock nr (0-7)
# lockcont	lock nr (0-7)
# unlock	lock nr (0-7)
# signal	0
# reset		0
# resetevent	0
#
# Tests / Wait
#
# opcode	opcode argument
#
# prioeq	priority
# priolt	priority
# priogt	priority
# nprioeq	normal priority
# npriolt	normal priority
# npriogt	normal priority
# locked	lock nr (0-7)
# blocked	lock nr (0-7)
# blockedwake	lock nr (0-7)
# unlocked	lock nr (0-7)
# opcodeeq	command opcode or number
# opcodelt	number
# opcodegt	number
# eventeq	number
# eventgt	number
# eventlt	number

#
# 2 threads 1 lock with priority inversion
#
C: resetevent:		0: 	0
W: opcodeeq:		0: 	0

# Set schedulers
C: schedother:		0: 	0
C: schedfifo:		1: 	80

# T0 lock L0
C: locknowait:		0: 	0
W: locked:		0: 	0

# T1 lock L0
C: locknowait:		1: 	0
W: blocked:		1: 	0
T: prioeq:		0: 	80

# T0 unlock L0
C: unlock:		0: 	0
W: locked:		1: 	0

# Verify T1
W: unlocked:		0: 	0
T: priolt:		0: 	1

# Unlock and exit
C: unlock:		1: 	0
W: unlocked:		1: 	0

back to top