Remember that problem 'the shell will make the xfs fs locked'
last week, well this fixes it. There was one fairly recent
bug in here (last few months) and one ancient bug which
looks like it has been there from day one.
fix a couple of nasty log problems. When a transaction crosses
multiple iclogs, the async transaction code needs to force the
log up until the last iclog. We need to record this lsn in the
transaction so we can do a log flush on it.
Secondly, there was a sleep/wakeup pair between flushing the
log and log write completions which was a) incorrect, and b)
no longer needed. This could result in early wakeups of
threads waiting for log flushes.
Date: Fri Oct 11 13:39:00 PDT 2002
Workarea: jen.americas.sgi.com:/src/lord/xfs-vanilla
The following file(s) were checked into:
bonnie.engr.sgi.com:/isms/slinx/2.4.x-xfs
Modid: 2.4.x-xfs:slinx:129778a
linux/fs/xfs/xfsidbg.c - 1.207
- dump t_commit_lsn when dumping a transaction.
linux/fs/xfs/xfs_log.c - 1.257
- remove an sv_signal and an sv_wait on the ic_forcesema
which could lead to early wakeups.
linux/fs/xfs/xfs_trans.c - 1.135
- record the commit lsn of a transaction into t_commit_lsn
during xfs_trans_commit.
linux/fs/xfs/xfs_trans.h - 1.114
- Add t_commit_lsn to the transaction structure
linux/fs/xfs/xfs_alloc.c - 1.156
- use t_commit_lsn rather than t_lsn when forcing the
log before reusing recently freed space.
|