Hi Linus,
Please pull from:
git pull git://oss.sgi.com:8090/xfs/xfs-2.6
--Tim
This will update the following files:
fs/xfs/linux-2.6/mrlock.h | 12 +++
fs/xfs/linux-2.6/xfs_aops.c | 89 +++++++++++++++++++---
fs/xfs/linux-2.6/xfs_buf.c | 10 ++
fs/xfs/linux-2.6/xfs_buf.h | 3 +
fs/xfs/linux-2.6/xfs_fs_subr.c | 21 +++--
fs/xfs/linux-2.6/xfs_fs_subr.h | 2
fs/xfs/linux-2.6/xfs_lrw.c | 163 +++++++++++++++++++++++-----------------
fs/xfs/linux-2.6/xfs_vnode.h | 2
fs/xfs/quota/xfs_dquot.c | 3 -
fs/xfs/quota/xfs_qm.c | 16 +++-
fs/xfs/quota/xfs_qm_syscalls.c | 19 +++--
fs/xfs/quota/xfs_trans_dquot.c | 4 +
fs/xfs/support/debug.c | 17 ----
fs/xfs/support/debug.h | 2
fs/xfs/xfs_alloc.c | 2
fs/xfs/xfs_attr.c | 12 +--
fs/xfs/xfs_attr_leaf.c | 2
fs/xfs/xfs_bmap.c | 28 +++----
fs/xfs/xfs_dfrag.c | 6 +
fs/xfs/xfs_dir2_block.c | 14 +--
fs/xfs/xfs_dir2_data.c | 7 --
fs/xfs/xfs_dir2_data.h | 2
fs/xfs/xfs_dir2_leaf.c | 7 +-
fs/xfs/xfs_dir2_node.c | 4 -
fs/xfs/xfs_error.c | 2
fs/xfs/xfs_fsops.c | 4 -
fs/xfs/xfs_iget.c | 15 ++--
fs/xfs/xfs_inode.c | 58 +++++++++++---
fs/xfs/xfs_inode.h | 65 ++++++++++++----
fs/xfs/xfs_iocore.c | 2
fs/xfs/xfs_iomap.c | 15 ++--
fs/xfs/xfs_iomap.h | 1
fs/xfs/xfs_log_recover.c | 15 +---
fs/xfs/xfs_mount.c | 2
fs/xfs/xfs_qmops.c | 2
fs/xfs/xfs_quota.h | 3 -
fs/xfs/xfs_rename.c | 2
fs/xfs/xfs_rtalloc.c | 6 +
fs/xfs/xfs_rw.c | 4 -
fs/xfs/xfs_trans.c | 6 -
fs/xfs/xfs_trans.h | 4 -
fs/xfs/xfs_utils.c | 11 ++-
fs/xfs/xfs_vfsops.c | 6 +
fs/xfs/xfs_vnodeops.c | 125 ++++++++++++++++++-------------
44 files changed, 491 insertions(+), 304 deletions(-)
through these commits:
commit f7c66ce3f70d8417de0cfb481ca4e5430382ec5d
Author: Lachlan McIlroy <lachlan@xxxxxxx>
Date: Tue May 8 13:50:19 2007 +1000
[XFS] Add lockdep support for XFS
SGI-PV: 963965
SGI-Modid: xfs-linux-melb:xfs-kern:28485a
Signed-off-by: Lachlan McIlroy <lachlan@xxxxxxx>
Signed-off-by: David Chinner <dgc@xxxxxxx>
Signed-off-by: Tim Shimmin <tes@xxxxxxx>
commit 71dfd5a396d11512aa6c8ed0d35b268bc084bb9b
Author: Lachlan McIlroy <lachlan@xxxxxxx>
Date: Tue May 8 13:50:12 2007 +1000
[XFS] Fix race in xfs_write() b/w dmapi callout and direct I/O checks.
In xfs_write() the iolock is dropped and reacquired in XFS_SEND_DATA()
which means that the file could change from not-cached to cached and we
need to redo the direct I/O checks. We should also redo the direct I/O
checks when the file size changes regardless if O_APPEND is set or not.
SGI-PV: 963483
SGI-Modid: xfs-linux-melb:xfs-kern:28440a
Signed-off-by: Lachlan McIlroy <lachlan@xxxxxxx>
Signed-off-by: David Chinner <dgc@xxxxxxx>
Signed-off-by: Tim Shimmin <tes@xxxxxxx>
commit 3a02ee1828915d6540b415a160344775e2a4f918
Author: Utako Kusaka <utako@xxxxxxxxxxxxxx>
Date: Tue May 8 13:50:06 2007 +1000
[XFS] Get rid of redundant "required" in msg.
SGI-PV: 963466
SGI-Modid: xfs-linux-melb:xfs-kern:28416a
Signed-off-by: Utako Kusaka <utako@xxxxxxxxxxxxxx>
Signed-off-by: Tim Shimmin <tes@xxxxxxx>
Signed-off-by: Christoph Hellwig <hch@xxxxxxxxxxxxx>
commit e6a0e9cdff79e1406e5653f759aaf9f59b7ce4c8
Author: Tim Shimmin <tes@xxxxxxx>
Date: Tue May 8 13:49:59 2007 +1000
[XFS] Export via a function xfs_buftarg_list for use by kdb/xfsidbg.
SGI-PV: 963465
SGI-Modid: xfs-linux-melb:xfs-kern:28414a
Signed-off-by: Tim Shimmin <tes@xxxxxxx>
Signed-off-by: Lachlan McIlroy <lachlan@xxxxxxx>
commit f10bb2dad02a846966064a531ba6eec301bbb9e0
Author: Tim Shimmin <tes@xxxxxxx>
Date: Tue May 8 13:49:53 2007 +1000
[XFS] Remove unused ilen variable and references.
SGI-PV: 907752
SGI-Modid: xfs-linux-melb:xfs-kern:28344a
Signed-off-by: Tim Shimmin <tes@xxxxxxx>
Signed-off-by: Lachlan McIlroy <lachlan@xxxxxxx>
Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxxx>
commit ba87ea699ebd9dd577bf055ebc4a98200e337542
Author: Lachlan McIlroy <lachlan@xxxxxxx>
Date: Tue May 8 13:49:46 2007 +1000
[XFS] Fix to prevent the notorious 'NULL files' problem after a crash.
The problem that has been addressed is that of synchronising updates of
the file size with writes that extend a file. Without the fix the update
of a file's size, as a result of a write beyond eof, is independent of
when the cached data is flushed to disk. Often the file size update would
be written to the filesystem log before the data is flushed to disk. When
a system crashes between these two events and the filesystem log is
replayed on mount the file's size will be set but since the contents never
made it to disk the file is full of holes. If some of the cached data was
flushed to disk then it may just be a section of the file at the end that
has holes.
There are existing fixes to help alleviate this problem, particularly in
the case where a file has been truncated, that force cached data to be
flushed to disk when the file is closed. If the system crashes while the
file(s) are still open then this flushing will never occur.
The fix that we have implemented is to introduce a second file size,
called the in-memory file size, that represents the current file size as
viewed by the user. The existing file size, called the on-disk file size,
is the one that get's written to the filesystem log and we only update it
when it is safe to do so. When we write to a file beyond eof we only
update the in- memory file size in the write operation. Later when the I/O
operation, that flushes the cached data to disk completes, an I/O
completion routine will update the on-disk file size. The on-disk file
size will be updated to the maximum offset of the I/O or to the value of
the in-memory file size if the I/O includes eof.
SGI-PV: 958522
SGI-Modid: xfs-linux-melb:xfs-kern:28322a
Signed-off-by: Lachlan McIlroy <lachlan@xxxxxxx>
Signed-off-by: David Chinner <dgc@xxxxxxx>
Signed-off-by: Tim Shimmin <tes@xxxxxxx>
commit 2a32963130aec5e157b58ff7dfa3dfa1afdf7ca1
Author: Lachlan McIlroy <lachlan@xxxxxxx>
Date: Tue May 8 13:49:39 2007 +1000
[XFS] Fix race condition in xfs_write().
This change addresses a race in xfs_write() where, for direct I/O, the
flags need_i_mutex and need_flush are setup before the iolock is acquired.
The logic used to setup the flags may change between setting the flags and
acquiring the iolock resulting in these flags having incorrect values. For
example, if a file is not currently cached then need_i_mutex is set to
zero and then if the file is cached before the iolock is acquired we will
fail to do the flushinval before the direct write.
The flush (and also the call to xfs_zero_eof()) need to be done with the
iolock held exclusive so we need to acquire the iolock before checking for
cached data (or if the write begins after eof) to prevent this state from
changing. For direct I/O I've chosen to always acquire the iolock in
shared mode initially and if there is a need to promote it then drop it
and reacquire it.
There's also some other tidy-ups including removing the O_APPEND offset
adjustment since that work is done in generic_write_checks() (and we don't
use offset as an input parameter anywhere).
SGI-PV: 962170
SGI-Modid: xfs-linux-melb:xfs-kern:28319a
Signed-off-by: Lachlan McIlroy <lachlan@xxxxxxx>
Signed-off-by: David Chinner <dgc@xxxxxxx>
Signed-off-by: Tim Shimmin <tes@xxxxxxx>
commit e6d29426bc8a5d07d0eebd0842fe0cf6ecc862cd
Author: Kouta Ooizumi <k-ooizumi@xxxxxxxxxxxxxx>
Date: Tue May 8 13:49:33 2007 +1000
[XFS] Fix uquota and oquota enforcement problems.
When uquota and oquota (gquota/pquota) are enabled for accounting both are
enforced if ether has enforcement active.
Conditions:
- Both XFS_UQUOTA_ACCT and XFS_GQUOTA_ACCT are enabled.
- Either XFS_UQUOTA_ENFD or XFS_OQUOTA_ENFD is enabled.
- The usage without enforce is reached at the soft limit.
Problems:
1. "repquota" shows all grace time even if no enforcement.
2. we cannot make a file over a hard limits even if no enforcement.
SGI-PV: 962291
SGI-Modid: xfs-linux-melb:xfs-kern:28272a
Signed-off-by: Kouta Ooizumi <k-ooizumi@xxxxxxxxxxxxxx>
Signed-off-by: Donald Douwsma <donaldd@xxxxxxx>
Signed-off-by: Tim Shimmin <tes@xxxxxxx>
commit d3cf209476b72c83907a412b6708c5e498410aa7
Author: Lachlan McIlroy <lachlan@xxxxxxx>
Date: Tue May 8 13:49:27 2007 +1000
[XFS] propogate return codes from flush routines
This patch handles error return values in fs_flush_pages and
fs_flushinval_pages. It changes the prototype of fs_flushinval_pages so we
can propogate the errors and handle them at higher layers. I also modified
xfs_itruncate_start so that it could propogate the error further.
SGI-PV: 961990
SGI-Modid: xfs-linux-melb:xfs-kern:28231a
Signed-off-by: Lachlan McIlroy <lachlan@xxxxxxx>
Signed-off-by: Stewart Smith <stewart@xxxxxxxxxxxxxxxx>
Signed-off-by: Tim Shimmin <tes@xxxxxxx>
commit 424ea91ba61c1cdc2dac68576c97030cbf47d84f
Author: Donald Douwsma <donaldd@xxxxxxx>
Date: Tue May 8 13:49:15 2007 +1000
[XFS] Fix quotaon syscall failures for group enforcement requests.
xfs_qm_scall_quotaon was incorrectly failing requests to enable group
quota enforcement. Fixes logic error in OQUOTA handling.
SGI-PV: 961964
SGI-Modid: xfs-linux-melb:xfs-kern:28227a
Signed-off-by: Donald Douwsma <donaldd@xxxxxxx>
Signed-off-by: Tim Shimmin <tes@xxxxxxx>
commit 646d5bdab38c88f4b9088d4e517986a3f3b0edb9
Author: Donald Douwsma <donaldd@xxxxxxx>
Date: Tue May 8 13:49:09 2007 +1000
[XFS] Invalidate quotacheck when mounting without a quota type.
When quotas are mounted or remounted without a particular quota type the
quota accounting for that type becomes invalid. Previously we were
ignoring this leading to accounting errors.
SGI-PV: 961964
SGI-Modid: xfs-linux-melb:xfs-kern:28225a
Signed-off-by: Donald Douwsma <donaldd@xxxxxxx>
Signed-off-by: Utako Kusaka <utako@xxxxxxxxxxxxxx>
Signed-off-by: Vlad Apostolov <vapo@xxxxxxx>
Signed-off-by: Tim Shimmin <tes@xxxxxxx>
commit e7a23a9b37c395a153a541d4c50e166eef6abe49
Author: Joe Perches <joe@xxxxxxxxxxx>
Date: Tue May 8 13:49:03 2007 +1000
[XFS] reducing the number of random number functions.
Patch provided by Joe Perches
SGI-PV: 961696
SGI-Modid: xfs-linux-melb:xfs-kern:28209a
Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
Signed-off-by: Lachlan McIlroy <lachlan@xxxxxxx>
Signed-off-by: Tim Shimmin <tes@xxxxxxx>
commit e9ed9d2240c71014a84043095af4465ffce61367
Author: Eric Sandeen <sandeen@xxxxxxxxxxx>
Date: Tue May 8 13:48:56 2007 +1000
[XFS] remove more misc. unused args
Patch provided by Eric Sandeen.
SGI-PV: 961695
SGI-Modid: xfs-linux-melb:xfs-kern:28205a
Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxxx>
Signed-off-by: Lachlan McIlroy <lachlan@xxxxxxx>
Signed-off-by: Tim Shimmin <tes@xxxxxxx>
commit ef497f8a1eafe0447f0473940ff2e0f6c8519a14
Author: Eric Sandeen <sandeen@xxxxxxxxxxx>
Date: Tue May 8 13:48:49 2007 +1000
[XFS] the "aendp" arg to xfs_dir2_data_freescan is always NULL, remove it.
Patch provided by Eric Sandeen.
SGI-PV: 961694
SGI-Modid: xfs-linux-melb:xfs-kern:28204a
Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxxx>
Signed-off-by: Lachlan McIlroy <lachlan@xxxxxxx>
Signed-off-by: Tim Shimmin <tes@xxxxxxx>
commit 1c72bf90037f32fc2b10e0a05dff2640abce8ee2
Author: Eric Sandeen <sandeen@xxxxxxxxxxx>
Date: Tue May 8 13:48:42 2007 +1000
[XFS] The last argument "lsn" of xfs_trans_commit() is always called with
NULL.
Patch provided by Eric Sandeen.
SGI-PV: 961693
SGI-Modid: xfs-linux-melb:xfs-kern:28199a
Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxxx>
Signed-off-by: Lachlan McIlroy <lachlan@xxxxxxx>
Signed-off-by: Tim Shimmin <tes@xxxxxxx>
|