xfs
[Top] [All Lists]

TAKE - fix some log hang and possible corruption cases

To: linux-xfs@xxxxxxxxxxx
Subject: TAKE - fix some log hang and possible corruption cases
From: Steve Lord <lord@xxxxxxx>
Date: Fri, 11 Oct 2002 15:40:15 -0500
Sender: linux-xfs-bounce@xxxxxxxxxxx
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.



<Prev in Thread] Current Thread [Next in Thread>
  • TAKE - fix some log hang and possible corruption cases, Steve Lord <=