CVS log for linux-2.6-xfs/fs/xfs/linux-2.6/xfs_buf.c

[BACK] Up to [Development] / linux-2.6-xfs / fs / xfs / linux-2.6

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.263 / (download) - annotate - [select for diffs], Fri Oct 10 15:26:05 2008 UTC (9 years ago) by tes.longdrop.melbourne.sgi.com
Branch: MAIN
CVS Tags: HEAD
Changes since 1.262: +2 -1 lines
Diff to previous 1.262 (colored)

fix barrier fail detection

Currently we disable barriers as soon as we get a buffer in xlog_iodone
that has the XBF_ORDERED flag cleared.  But this can be the case not only
for buffers where the barrier failed, but also the first buffer of a
split log write in case of a log wraparound.  Due to the disabled
barriers we can easily get directory corruption on unclean shutdowns.
So instead of using this check add a new buffer flag for failed barrier
writes.

This is a regression vs 2.6.26 caused by patch to use the right macro
to check for the ORDERED flag, as we previously got true returned for
every buffer.

Thanks to Toei Rei for reporting the bug.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Merge of xfs-linux-melb:xfs-kern:32298a by kenmcd.

  fix barrier fail detection

Revision 1.262 / (download) - annotate - [select for diffs], Wed Aug 6 16:19:11 2008 UTC (9 years, 2 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.261: +1 -1 lines
Diff to previous 1.261 (colored)

Use KM_NOFS for debug trace buffers

Use KM_NOFS to prevent recursion back into the filesystem which can
cause deadlocks.

In the case of xfs_iread() we hold the lock on the inode cluster buffer
while allocating memory for the trace buffers.  If we recurse back into
XFS to flush data that may require a transaction to allocate extents
which needs log space.  This can deadlock with the xfsaild thread which
can't push the tail of the log because it is trying to get the inode
cluster buffer lock.
Merge of xfs-linux-melb:xfs-kern:31838a by kenmcd.

  Use KM_NOFS for debug trace buffers

Revision 1.261 / (download) - annotate - [select for diffs], Tue Aug 5 16:29:38 2008 UTC (9 years, 2 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.260: +3 -3 lines
Diff to previous 1.260 (colored)

replace the XFS buf iodone semaphore with a completion

The xfs_buf_t b_iodonesema is really just a semaphore that wants to be a
completion.  Change it to a completion and remove the last user of the sema_t
from XFS.

Signed-off-by: Dave Chinner <david@fromorbit.com>
Merge of xfs-linux-melb:xfs-kern:31815a by kenmcd.

  replace the XFS buf iodone semaphore with a completion

Revision 1.260 / (download) - annotate - [select for diffs], Tue Aug 5 06:10:23 2008 UTC (9 years, 2 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.259: +1 -2 lines
Diff to previous 1.259 (colored)

is_vmalloc_addr(): Check if an address is within the vmalloc boundaries

    Checking if an address is a vmalloc address is done in a couple of places.
    Define a common version in mm.h and replace the other checks.

    Again the include structures suck.  The definition of VMALLOC_START and
    VMALLOC_END is not available in vmalloc.h since highmem.c cannot be included
    there.

    Signed-off-by: Christoph Lameter <clameter@sgi.com>
Merge of xfs-linux-melb:xfs-kern:31811a by kenmcd.

  is_vmalloc_addr(): Check if an address is within the vmalloc boundaries

Revision 1.259 / (download) - annotate - [select for diffs], Mon Aug 4 06:10:37 2008 UTC (9 years, 2 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.258: +2 -2 lines
Diff to previous 1.258 (colored)

Merge up to 2.6.26
Merge of xfs-linux-melb:xfs-kern:31804a by kenmcd.

Revision 1.258 / (download) - annotate - [select for diffs], Tue Jul 22 16:09:34 2008 UTC (9 years, 2 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.257: +1 -5 lines
Diff to previous 1.257 (colored)

Do not access buffers after dropping reference count

We should not access a buffer after dropping it's reference count otherwise
we could race with another thread that releases the final reference count
and frees the buffer causing us to access potentially unmapped memory.
The bug this change fixes only occured on DEBUG XFS since the offending
code was in an ASSERT.
Merge of xfs-linux-melb:xfs-kern:31715a by kenmcd.

  Do not access buffers after dropping reference count

Revision 1.257 / (download) - annotate - [select for diffs], Tue May 20 04:32:40 2008 UTC (9 years, 4 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.256: +1 -4 lines
Diff to previous 1.256 (colored)

sort out opening and closing of the block devices

Currently closing the rt/log block device is done in the wrong spot, and
far too early.  So revampt it:

 - xfs_blkdev_put moved out of xfs_free_buftarg into the caller so that
   it is done after tearing down the buftarg completely.
 - call to xfs_unmountfs_close moved from xfs_mountfs into caller so
   that it's done after tearing down the filesystem completely.
 - xfs_unmountfs_close is renamed to xfs_close_devices and made static
   in xfs_super.c
 - opening of the block devices is split into a helper xfs_open_devices
   that is symetric in use to xfs_close_devices
 - xfs_unmountfs can now lose struct cred
 - error handling around device opening sanitized in xfs_fs_fill_super


Signed-off-by: Christoph Hellwig <hch@lst.de>
Merge of xfs-linux-melb:xfs-kern:31193a by kenmcd.

  sort out opening and closing of the block devices

Revision 1.256 / (download) - annotate - [select for diffs], Fri May 16 04:28:49 2008 UTC (9 years, 5 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.255: +20 -4 lines
Diff to previous 1.255 (colored)

Fix memory corruption with small buffer reads

When we have multiple buffers in a single page for a blocksize == pagesize
filesystem we might overwrite the page contents if two callers hit it
shortly after each other.  To prevent that we need to keep the page
locked until I/O is completed and the page marked uptodate.

Thanks to Eric Sandeen for triaging this bug and finding a reproducible
testcase and Dave Chinner for additional advice.

This should fix kernel.org bz #10421.


Signed-off-by: Christoph Hellwig <hch@lst.de>
Tested-by: Eric Sandeen <sandeen@sandeen.net>
Merge of xfs-linux-melb:xfs-kern:31173a by kenmcd.

  Reintroduce page locking for sub-blocksize buffer read synchronisation.

Revision 1.255 / (download) - annotate - [select for diffs], Fri May 9 04:27:47 2008 UTC (9 years, 5 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.254: +4 -5 lines
Diff to previous 1.254 (colored)

Remove unused arg from kmem_free()

kmem_free() function takes (ptr, size) arguments but doesn't
actually use second one.

This patch removes size argument from all callsites.

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Merge of xfs-linux-melb:xfs-kern:31050a by kenmcd.

  Remove unused arg from kmem_free()

Revision 1.254 / (download) - annotate - [select for diffs], Thu Apr 10 04:27:53 2008 UTC (9 years, 6 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.253: +1 -1 lines
Diff to previous 1.253 (colored)

xfs_bdwrite() does not return errors.

xfs_bdwrite() cannot return an error; it only queues buffers
to the delayed write list and as such never encounters anything
that can fail. Mark it void.
Merge of xfs-linux-melb:xfs-kern:30825a by kenmcd.

  xfs_bdwrite() does not return errors.

Revision 1.253 / (download) - annotate - [select for diffs], Wed Apr 9 06:17:24 2008 UTC (9 years, 6 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.252: +3 -3 lines
Diff to previous 1.252 (colored)

replace remaining __FUNCTION__ occurrences

__FUNCTION__ is gcc-specific, use __func__

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Merge of xfs-linux-melb:xfs-kern:30775a by kenmcd.

  __FUNCTION__ is gcc-specific, use __func__

Revision 1.252 / (download) - annotate - [select for diffs], Thu Dec 6 15:09:17 2007 UTC (9 years, 10 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.251: +2 -0 lines
Diff to previous 1.251 (colored)

Make xfsbufd threads freezable

Fix breakage caused by commit 831441862956fffa17b9801db37e6ea1650b0f69
that did not introduce the necessary call to set_freezable() in
xfs/linux-2.6/xfs_buf.c .

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Merge of xfs-linux-melb:xfs-kern:30203a by kenmcd.

  Make xfsbufd freezable again.

Revision 1.251 / (download) - annotate - [select for diffs], Mon Dec 3 15:26:10 2007 UTC (9 years, 10 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.250: +1 -6 lines
Diff to previous 1.250 (colored)

Merge up to 2.6.24-rc3
Merge of xfs-linux-melb:xfs-kern:30183a by kenmcd.

Revision 1.250 / (download) - annotate - [select for diffs], Thu Nov 29 03:04:46 2007 UTC (9 years, 10 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.249: +5 -50 lines
Diff to previous 1.249 (colored)

kill superflous buffer locking (2nd attempt)

There is no need to lock any page in xfs_buf.c because we operate
on our own address_space and all locking is covered by the buffer
semaphore.  If we ever switch back to main blockdeive address_space
as suggested e.g. for fsblock with a similar scheme the locking will
have to be totally revised anyway because the current scheme is
neither correct nor coherent with itself.


Signed-off-by: Christoph Hellwig <hch@lst.de>
Merge of xfs-linux-melb:xfs-kern:30156a by kenmcd.

  kill superflous buffer locking (2nd attempt)

Revision 1.249 / (download) - annotate - [select for diffs], Tue Nov 27 03:08:59 2007 UTC (9 years, 10 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.248: +12 -19 lines
Diff to previous 1.248 (colored)

Fixed a few bugs in xfs_buf_associate_memory()

- calculation of 'page_count' was incorrect as it did not
  consider the offset of 'mem' into the first page.  The
  logic to bump 'page_count' didn't work if 'len' was <=
  PAGE_CACHE_SIZE (ie offset = 3k, len = 2k).
- setting b_buffer_length to 'len' is incorrect if
  'offset' is > 0.  Set it to the total length of the
  buffer.
- I suspect that passing a non-aligned address into
  mem_to_page() for the first page may have been causing
  issues - don't know but just tidy up that code anyway.
Merge of xfs-linux-melb:xfs-kern:30143a by kenmcd.

  Fixed a few bugs in xfs_buf_associate_memory().

Revision 1.248 / (download) - annotate - [select for diffs], Fri Nov 23 05:18:54 2007 UTC (9 years, 10 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.247: +1 -1 lines
Diff to previous 1.247 (colored)

Clear XBF_READ_AHEAD flag on I/O completion.
Merge of xfs-linux-melb:xfs-kern:30128a by kenmcd.

  Clear XBF_READ_AHEAD flag on I/O completion.

Revision 1.247 / (download) - annotate - [select for diffs], Thu Oct 18 06:18:38 2007 UTC (10 years ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.246: +48 -5 lines
Diff to previous 1.246 (colored)

Undoes mod:     xfs-linux-melb:xfs-kern:29845a
Undo mod xfs-linux-melb:xfs-kern:29845a due to a regression
Merge of xfs-linux-melb:xfs-kern:29902a by kenmcd.

Revision 1.246 / (download) - annotate - [select for diffs], Tue Oct 16 04:08:16 2007 UTC (10 years ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.245: +13 -0 lines
Diff to previous 1.245 (colored)

eagerly remove vmap mappings to avoid upsetting Xen

XFS leaves stray mappings around when it vmaps memory to make it
virtually contigious.  This upsets Xen if one of those pages is being
recycled into a pagetable, since it finds an extra writable mapping of
the page.

This patch solves the problem in a brute force way, by making XFS
always eagerly unmap its mappings.

Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
Merge of xfs-linux-melb:xfs-kern:29886a by kenmcd.

  Always unmap buffers immediately if we are configure to run Xen.

Revision 1.245 / (download) - annotate - [select for diffs], Mon Oct 8 15:42:24 2007 UTC (10 years ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.244: +5 -48 lines
Diff to previous 1.244 (colored)

kill superflous buffer locking

There is no need to lock any page in xfs_buf.c because we operate
on our own address_space and all locking is covered by the buffer
semaphore.  If we ever switch back to main blockdeive address_space
as suggested e.g. for fsblock with a similar scheme the locking will
have to be totally revised anyway because the current scheme is
neither correct nor coherent with itself.


Signed-off-by: Christoph Hellwig <hch@lst.de>
Merge of xfs-linux-melb:xfs-kern:29845a by kenmcd.

  kill superflous buffer locking

Revision 1.244 / (download) - annotate - [select for diffs], Fri Sep 21 16:09:12 2007 UTC (10 years ago) by donaldd.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.243: +1 -1 lines
Diff to previous 1.243 (colored)

Remove spin.h

remove spinlock init abstraction macro in spin.h, remove the callers,
and  remove the file.  Move no-op spinlock_destroy to xfs_linux.h
Cleanup spinlock locals in xfs_mount.c

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Merge of xfs-linux-melb:xfs-kern:29751a by kenmcd.

  Remove spin.h

Revision 1.243 / (download) - annotate - [select for diffs], Wed Sep 12 04:04:58 2007 UTC (10 years, 1 month ago) by tes.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.242: +6 -8 lines
Diff to previous 1.242 (colored)

Update 2.6.x-xfs to 2.6.23-rc4.

Also update fs/xfs with external mainline changes.
There were 12 such missing commits that I detected:

--------
commit ad690ef9e690f6c31f7d310b09ef1314bcec9033
Author: Al Viro <viro@ftp.linux.org.uk>
    xfs ioctl __user annotations

commit 20c2df83d25c6a95affe6157a4c9cac4cf5ffaac
Author: Paul Mundt <lethal@linux-sh.org>
    mm: Remove slab destructors from kmem_cache_create().

commit d0217ac04ca6591841e5665f518e38064f4e65bd
Author: Nick Piggin <npiggin@suse.de>
    mm: fault feedback #1

commit 54cb8821de07f2ffcd28c380ce9b93d5784b40d7
Author: Nick Piggin <npiggin@suse.de>
    mm: merge populate and nopage into fault (fixes nonlinear)

commit d00806b183152af6d24f46f0c33f14162ca1262a
Author: Nick Piggin <npiggin@suse.de>
    mm: fix fault vs invalidate race for linear mappings

commit a569425512253992cc64ebf8b6d00a62f986db3e
Author: Christoph Hellwig <hch@infradead.org>
    knfsd: exportfs: add exportfs.h header

commit 831441862956fffa17b9801db37e6ea1650b0f69
Author: Rafael J. Wysocki <rjw@sisk.pl>
    Freezer: make kernel threads nonfreezable by default

commit 8e1f936b73150f5095448a0fee6d4f30a1f9001d
Author: Rusty Russell <rusty@rustcorp.com.au>
    mm: clean up and kernelify shrinker registration

commit 5ffc4ef45b3b0a57872f631b4e4ceb8ace0d7496
Author: Jens Axboe <jens.axboe@oracle.com>
    sendfile: remove .sendfile from filesystems that use generic_file_sendfile()

commit 8bb7844286fb8c9fce6f65d8288aeb09d03a5e0d
Author: Rafael J. Wysocki <rjw@sisk.pl>
    Add suspend-related notifications for CPU hotplug

commit 59c51591a0ac7568824f541f57de967e88adaa07
Author: Michael Opdenacker <michael@free-electrons.com>
    Fix occurrences of "the the "

commit 0ceb331433e8aad9c5f441a965d7c681f8b9046f
Author: Dmitriy Monakhov <dmonakhov@openvz.org>
    mm: move common segment checks to separate helper function
--------
Merge of xfs-linux-melb:xfs-kern:29656a by kenmcd.

Revision 1.242 / (download) - annotate - [select for diffs], Mon Jun 4 15:39:59 2007 UTC (10 years, 4 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.241: +1 -0 lines
Diff to previous 1.241 (colored)

Flush the block device before closing it on unmount.
Merge of xfs-linux-melb:xfs-kern:28774a by kenmcd.

  Flush the block device before closing it on unmount.

Revision 1.241 / (download) - annotate - [select for diffs], Wed May 23 15:48:20 2007 UTC (10 years, 4 months ago) by tes.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.240: +2 -2 lines
Diff to previous 1.240 (colored)

Bring back a few community mainline changes into xfs.
Merge of xfs-linux-melb:xfs-kern:28661a by kenmcd.

  commit b43376927ab0f7b64c4fb304568ecfaea10446e2
  get rid of freezable broken work queues

Revision 1.240 / (download) - annotate - [select for diffs], Tue May 22 06:04:43 2007 UTC (10 years, 4 months ago) by tes.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.239: +1 -1 lines
Diff to previous 1.239 (colored)

Remove whitespace at end of line.
This was done in the git version and now shows up as a difference.
D'oh.
Merge of xfs-linux-melb:xfs-kern:28646a by kenmcd.

  Remove whitespace at end of line.
  This was done in the git version and now shows up as a difference.
  D'oh.

Revision 1.239 / (download) - annotate - [select for diffs], Tue May 22 04:00:43 2007 UTC (10 years, 4 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.238: +3 -3 lines
Diff to previous 1.238 (colored)

Use generic shrinker interfaces in XFS.

Signed-Off-By: Andrew Morton <akpm@linux-foundation.org>
Merge of xfs-linux-melb:xfs-kern:28642a by kenmcd.

  remove shrinker wrappers and call them directly.

Revision 1.238 / (download) - annotate - [select for diffs], Tue May 22 03:58:03 2007 UTC (10 years, 4 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.237: +2 -1 lines
Diff to previous 1.237 (colored)

Fix double free in xfs_buf_get_noaddr error handling path

Signed-off-by: Christoph Hellwig <hch@lst.de>
Merge of xfs-linux-melb:xfs-kern:28639a by kenmcd.

  Fix double free in xfs_buf_get_noaddr error handling path.

Revision 1.237 / (download) - annotate - [select for diffs], Fri May 11 15:36:20 2007 UTC (10 years, 5 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.236: +12 -1 lines
Diff to previous 1.236 (colored)

Barriers need to be dynamically checked and switched off

If the underlying block device sudden stops supporting barriers,
we need to handle the -EOPNOTSUPP error in a sane manner rather
than shutting downteh filesystem. If we get this error, clear the
barrier flag, reissue the I/O, and tell the world bad things are
occurring.
Merge of xfs-linux-melb:xfs-kern:28568a by kenmcd.

  If the buffer gets a EOPNOTSUPP I/O error and it is a barrier
  write, clear the barrier and reissue the I/O.

Revision 1.236 / (download) - annotate - [select for diffs], Fri May 11 06:04:35 2007 UTC (10 years, 5 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.235: +23 -30 lines
Diff to previous 1.235 (colored)

Only use refcounted pages for I/O

Many block drivers (aoe, iscsi) really want refcountable pages in
bios, which is what almost everyone send down.  XFS unfortunately
has a few places where it sends down buffers that may come from
kmalloc, which breaks them.

Fix the places that use kmalloc()d buffers.

Signed-Off-By: Christoph Hellwig <hch@infradead.org>
Merge of xfs-linux-melb:xfs-kern:28562a by kenmcd.

  Use alloc_page() rather than kmem_alloc() for buffers that do not
  use page cache backed pages.

Revision 1.235 / (download) - annotate - [select for diffs], Mon Apr 16 06:06:47 2007 UTC (10 years, 6 months ago) by tes.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.234: +9 -1 lines
Diff to previous 1.234 (colored)

Export via a function xfs_buftarg_list for use by kdb/xfsidbg.
Merge of xfs-linux-melb:xfs-kern:28414a by kenmcd.

  Export via a function xfs_buftarg_list for use by kdb/xfsidbg.

Revision 1.234 / (download) - annotate - [select for diffs], Fri Jan 12 15:07:09 2007 UTC (10 years, 9 months ago) by donaldd.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.233: +8 -6 lines
Diff to previous 1.233 (colored)

Merge up to 2.6.20-rc4
Merge of xfs-linux-melb:xfs-kern:27915a by kenmcd.

Revision 1.233 / (download) - annotate - [select for diffs], Thu Dec 21 14:28:57 2006 UTC (10 years, 9 months ago) by donaldd.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.232: +0 -1 lines
Diff to previous 1.232 (colored)

Merge up to 2.6.19
Merge of xfs-linux-melb:xfs-kern:27801a by kenmcd.

Revision 1.232 / (download) - annotate - [select for diffs], Thu Nov 30 14:40:05 2006 UTC (10 years, 10 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.231: +12 -12 lines
Diff to previous 1.231 (colored)

Keep stack usage down for 4k stacks by using noinline.

gcc-4.1 and more recent aggressively inline static functions which
increases XFS stack usage by ~15% in critical paths. Prevent
this from occurring by adding noinline to the STATIC definition.

Also uninline some functions that are too large to be inlined and
were causing problems with CONFIG_FORCED_INLINING=y.

Finally, clean up all the different users of inline, __inline and
__inline__ and put them under one STATIC_INLINE macro. For debug
kernels the STATIC_INLINE macro uninlines those functions.
Merge of xfs-linux-melb:xfs-kern:27585a by kenmcd.

  noinline static function declaration cleanup.

Revision 1.231 / (download) - annotate - [select for diffs], Wed Nov 29 05:06:03 2006 UTC (10 years, 10 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.230: +7 -8 lines
Diff to previous 1.230 (colored)

Current usage of buftarg flags is incorrect.

The {test,set,clear}_bit() operations take a bit index for
the bit to operate on. The XBT_* flags are defined as bit
fields which is incorrect, not to mention the way the bit
fields are enumerated is broken too. This was only working
by chance.

Fix the definitions of the flags and make the code using
them use the {test,set,clear}_bit() operations correctly.
Merge of xfs-linux-melb:xfs-kern:27565a by kenmcd.

  Set bt_flags appropriately for delwri list flushing rather than
  abusing flag indexes.

Revision 1.230 / (download) - annotate - [select for diffs], Thu Nov 23 05:05:36 2006 UTC (10 years, 10 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.229: +60 -57 lines
Diff to previous 1.229 (colored)

Fix a synchronous buftarg flush deadlock when freezing.

At the last stage of a freeze, we flush the buftarg synchronously
over and over again until it succeeds twice without skipping
any buffers.

The delwri list flush skips pinned buffers, but tries to flush
all others. It removes the buffers from the delwri list, then tries
to lock them one at a time as it traverses the list to issue
the I/O. It holds them locked until we issue all of the I/O
and then unlocks them once we've waited for it to complete.

The problem is that during a freeze, the filesystem may
still be doing stuff - like flushing delalloc data buffers -
in the background and hence we can be trying to lock buffers
that were on the delwri list at the same time.  Hence we can
get ABBA deadlocks between threads doing allocation and the
buftarg flush (freeze) thread.

Fix it by skipping locked (and pinned) buffers as we traverse the
delwri buffer list.
Merge of xfs-linux-melb:xfs-kern:27535a by kenmcd.

  Skip locked buffers when flushing the buftarg delwri buffer list
  to prevent deadlocks with allocation when synchronously flushing
  the buftarg during a freeze.

Revision 1.229 / (download) - annotate - [select for diffs], Tue Oct 31 15:08:00 2006 UTC (10 years, 11 months ago) by tes.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.228: +3 -1 lines
Diff to previous 1.228 (colored)

Merge up to 2.6.19-rc3
Merge of xfs-linux-melb:xfs-kern:27325a by kenmcd.

Revision 1.228 / (download) - annotate - [select for diffs], Mon Oct 16 03:52:22 2006 UTC (11 years ago) by vapo.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.227: +2 -2 lines
Diff to previous 1.227 (colored)

956618: Linux crashes on boot with XFS-DMAPI filesystem when CONFIG_XFS_TRACE is on
Merge of xfs-linux-melb:xfs-kern:27196a by kenmcd.

  KM_LARGE annotations are required on some calls in the dmapi code which 
  request big buffers if the user directs them to do so.

Revision 1.227 / (download) - annotate - [select for diffs], Fri Oct 13 16:13:54 2006 UTC (11 years ago) by tes.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.226: +1 -1 lines
Diff to previous 1.226 (colored)

Merge up to 2.6.18
Merge of xfs-linux-melb:xfs-kern:27192a by kenmcd.

Revision 1.226 / (download) - annotate - [select for diffs], Fri Aug 18 04:01:38 2006 UTC (11 years, 2 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.225: +8 -3 lines
Diff to previous 1.225 (colored)

Be more defensive with page flags (error/private) for metadata buffers.
Merge of xfs-linux-melb:xfs-kern:26801a by kenmcd.

Revision 1.225 / (download) - annotate - [select for diffs], Fri Aug 18 04:00:52 2006 UTC (11 years, 2 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.224: +1 -1 lines
Diff to previous 1.224 (colored)

Add a debug flag for allocations which are known to be larger than one page.
Merge of xfs-linux-melb:xfs-kern:26800a by kenmcd.

Revision 1.224 / (download) - annotate - [select for diffs], Fri Aug 4 13:27:28 2006 UTC (11 years, 2 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.223: +7 -7 lines
Diff to previous 1.223 (colored)

When issuing metadata readahead, submit bio with READA not READ.
Merge of xfs-linux-melb:xfs-kern:26603a by kenmcd.

Revision 1.223 / (download) - annotate - [select for diffs], Mon Jul 3 03:47:52 2006 UTC (11 years, 3 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.222: +14 -10 lines
Diff to previous 1.222 (colored)

Improve xfsbufd delayed write submission patterns, after blktrace analysis.

Under a sequential create+allocate workload, blktrace reported backward
writes being issued by xfsbufd, and frequent inappropriate queue unplugs.
We now insert at the tail when moving from the delwri lists to the temp
lists, which maintains correct ordering, and we avoid unplugging queues
deep in the submit paths when we'd shortly do it at a higher level anyway.
blktrace now reports much healthier write patterns from xfsbufd for this
workload (and likely many others).
Merge of xfs-linux-melb:xfs-kern:26396a by kenmcd.

Revision 1.222 / (download) - annotate - [select for diffs], Mon May 29 06:15:53 2006 UTC (11 years, 4 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.221: +2 -1 lines
Diff to previous 1.221 (colored)

Merge back a new include and GFP_NOWAIT mem alloc macro use from mainline.
Merge of xfs-linux-melb:xfs-kern:26071a by kenmcd.

Revision 1.221 / (download) - annotate - [select for diffs], Tue Mar 14 05:06:05 2006 UTC (11 years, 7 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.220: +1 -0 lines
Diff to previous 1.220 (colored)

Merge back migrate_pages address_space ops change from mainline.
Merge of xfs-linux-melb:xfs-kern:25447a by kenmcd.

Revision 1.220 / (download) - annotate - [select for diffs], Mon Feb 6 05:01:49 2006 UTC (11 years, 8 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.219: +3 -4 lines
Diff to previous 1.219 (colored)

Cleanup the use of zones/slabs, more consistent and allows flags to be passed.
Merge of xfs-linux-melb:xfs-kern:25122a by kenmcd.

Revision 1.219 / (download) - annotate - [select for diffs], Tue Jan 31 05:00:14 2006 UTC (11 years, 8 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.218: +7 -0 lines
Diff to previous 1.218 (colored)

Fix regression in xfs_buf_rele dealing with non-hashed buffers, as occur during log replay.  Novell bug 145204, Fedora bug 177848.
Merge of xfs-linux-melb:xfs-kern:25064a by kenmcd.

Revision 1.218 / (download) - annotate - [select for diffs], Mon Dec 19 02:48:32 2005 UTC (11 years, 10 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.217: +8 -8 lines
Diff to previous 1.217 (colored)

Fix up offset type inconsistencies and gcc warnings from earlier changes.
Merge of xfs-linux-melb:xfs-kern:24875a by kenmcd.

Revision 1.217 / (download) - annotate - [select for diffs], Sat Dec 17 11:31:50 2005 UTC (11 years, 10 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.216: +581 -669 lines
Diff to previous 1.216 (colored)

Complete the pagebuf -> xfs_buf naming convention transition, finally.
Merge of xfs-linux-melb:xfs-kern:24866a by kenmcd.

Revision 1.216 / (download) - annotate - [select for diffs], Fri Dec 16 12:47:19 2005 UTC (11 years, 10 months ago) by hch
Branch: MAIN
Changes since 1.215: +2 -3 lines
Diff to previous 1.215 (colored)

fix up per-device xfsbufd
remove superflous memory barriers, use list_for_each_entry instead of the _save variant

Revision 1.215 / (download) - annotate - [select for diffs], Fri Dec 16 02:48:24 2005 UTC (11 years, 10 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.214: +92 -44 lines
Diff to previous 1.214 (colored)

Introduce per-filesystem delwri pagebuf flushing to reduce contention
between filesystems and prevent deadlocks between filesystems when a
flush dependency exists between them.
Merge of xfs-linux-melb:xfs-kern:24844a by kenmcd.

  Change delayed write buffer processing to use buftarg-relative lists
  and threads.

Revision 1.214 / (download) - annotate - [select for diffs], Mon Dec 5 03:12:00 2005 UTC (11 years, 10 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.213: +4 -3 lines
Diff to previous 1.213 (colored)

Fix up fallout from the merge up to 2.6.15.
Merge of xfs-linux-melb:xfs-kern:24679a by kenmcd.

Revision 1.213 / (download) - annotate - [select for diffs], Thu Nov 3 13:58:23 2005 UTC (11 years, 11 months ago) by fsgqa.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.212: +0 -1 lines
Diff to previous 1.212 (colored)

Merge a mainline API fixup back to XFS tree.
Merge of xfs-linux-melb:xfs-kern:24289a by kenmcd.

Revision 1.212 / (download) - annotate - [select for diffs], Thu Nov 3 05:01:26 2005 UTC (11 years, 11 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.211: +5 -4 lines
Diff to previous 1.211 (colored)

Merge back several minor mainline API changes - gfp_t, msecs_to_jiffies, schedule_timeout_interruptible.
Merge of xfs-linux-melb:xfs-kern:24287a by kenmcd.

Revision 1.211 / (download) - annotate - [select for diffs], Wed Nov 2 14:09:56 2005 UTC (11 years, 11 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.210: +1 -1 lines
Diff to previous 1.210 (colored)

Use the gfp_t type in the places we need to, for sparse - thanks to Chris Wedgwood.
Merge of xfs-linux-melb:xfs-kern:24276a by kenmcd.

Revision 1.210 / (download) - annotate - [select for diffs], Mon Oct 17 11:28:10 2005 UTC (12 years ago) by hch
Branch: MAIN
Changes since 1.209: +4 -25 lines
Diff to previous 1.209 (colored)

Simplify pagebuf_rele

Remove a conditional that can not be true anymore and simplify the final
put path a little

Revision 1.209 / (download) - annotate - [select for diffs], Fri Sep 23 03:51:28 2005 UTC (12 years ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.208: +12 -52 lines
Diff to previous 1.208 (colored)

Update license/copyright notices to match the prefered SGI boilerplate.
Merge of xfs-linux-melb:xfs-kern:23903a by kenmcd.

Revision 1.208 / (download) - annotate - [select for diffs], Thu Sep 15 11:31:27 2005 UTC (12 years, 1 month ago) by hch
Branch: MAIN
Changes since 1.207: +4 -4 lines
Diff to previous 1.207 (colored)

only mark buffers done when all pages are uptodate

in addition replace PBF_NONE with an inverted PBF_DONE, so it's like
all the other flags.

Revision 1.207 / (download) - annotate - [select for diffs], Tue Sep 6 22:44:36 2005 UTC (12 years, 1 month ago) by hch
Branch: MAIN
Changes since 1.206: +5 -0 lines
Diff to previous 1.206 (colored)

write barrier support

Issue all log sync operations as ordered writes.  In addition flush the
disk cache on fsync if the sync cached operation didn't sync the log to
disk (this requires some additional bookeping in the transaction and log
code).
If the device doesn't claim to support barriers, the filesystem has an
extern log volume or the trial superblock write with barriers enabled
failed we disable barriers and print a warning.  We should probably fail
the mount completely, but that could lead to nasty boot failures for
the root filesystem.

Not enabled by default yet, needs more destructive testing first.

Revision 1.206 / (download) - annotate - [select for diffs], Mon Sep 5 23:04:06 2005 UTC (12 years, 1 month ago) by hch
Branch: MAIN
Changes since 1.205: +2 -1 lines
Diff to previous 1.205 (colored)

fix PBF_NONE handling

Revision 1.205 / (download) - annotate - [select for diffs], Mon Sep 5 11:52:04 2005 UTC (12 years, 1 month ago) by hch
Branch: MAIN
Changes since 1.204: +7 -17 lines
Diff to previous 1.204 (colored)

remove unused pagebuf flags

Revision 1.204 / (download) - annotate - [select for diffs], Sun Sep 4 23:17:49 2005 UTC (12 years, 1 month ago) by hch
Branch: MAIN
Changes since 1.203: +25 -62 lines
Diff to previous 1.203 (colored)

Make sure the threads and shaker in xfs_buf are de-initialized in reverse startup order

Revision 1.203 / (download) - annotate - [select for diffs], Wed Aug 31 08:37:36 2005 UTC (12 years, 1 month ago) by hch
Branch: MAIN
Changes since 1.202: +8 -16 lines
Diff to previous 1.202 (colored)

Switch kernel thread handling to the kthread_ API

Revision 1.202 / (download) - annotate - [select for diffs], Mon Aug 29 06:01:53 2005 UTC (12 years, 1 month ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.201: +2 -2 lines
Diff to previous 1.201 (colored)

Backport a try_to_freeze swsusp API change from 2.6.13.
Merge of xfs-linux-melb:xfs-kern:23663a by kenmcd.

Revision 1.201 / (download) - annotate - [select for diffs], Wed Aug 24 15:12:31 2005 UTC (12 years, 1 month ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.200: +50 -16 lines
Diff to previous 1.200 (colored)

Fix racy access to pb_flags.

pagebuf_rele() modified pb_flags after the pagebuf had been unlocked
if the buffer was delwri. At high load, this could result in a race
when the superblock was being synced that would result the flags
being incorrect and the iodone functions being executed incorrectly.
This then leads to iclog callback failures or AIL list corruptions
resulting in filesystem shutdowns.
Merge of xfs-linux-melb:xfs-kern:23616a by kenmcd.

  Move delwri buffer processing to before the buffer is unlocked
  so flags are modified while the buffer is still locked.
  Also use a flag to keep track of whether we are already in
  the delwri queue.

Revision 1.200 / (download) - annotate - [select for diffs], Mon Aug 22 12:04:32 2005 UTC (12 years, 1 month ago) by hch
Branch: MAIN
Changes since 1.199: +0 -30 lines
Diff to previous 1.199 (colored)

remove some dead code from pagebuf

Revision 1.199 / (download) - annotate - [select for diffs], Wed Aug 3 10:53:39 2005 UTC (12 years, 2 months ago) by hch
Branch: MAIN
Changes since 1.198: +1 -1 lines
Diff to previous 1.198 (colored)

Add infrastructure for tracking I/O completions

Revision 1.198 / (download) - annotate - [select for diffs], Thu Jun 23 14:58:29 2005 UTC (12 years, 3 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.197: +11 -6 lines
Diff to previous 1.197 (colored)

Make metadata IO completion consistent with other IO completion handlers.
Merge of xfs-linux-melb:xfs-kern:22965a by kenmcd.

Revision 1.197 / (download) - annotate - [select for diffs], Tue May 31 09:57:12 2005 UTC (12 years, 4 months ago) by hch
Branch: MAIN
Changes since 1.196: +0 -10 lines
Diff to previous 1.196 (colored)

remove xfs_incore_relse


Revision 1.196 / (download) - annotate - [select for diffs], Wed May 18 08:58:18 2005 UTC (12 years, 5 months ago) by hch
Branch: MAIN
Changes since 1.195: +1 -1 lines
Diff to previous 1.195 (colored)

Fix pagebuf slab initialization


Revision 1.195 / (download) - annotate - [select for diffs], Tue May 10 11:39:55 2005 UTC (12 years, 5 months ago) by hch
Branch: MAIN
Changes since 1.194: +78 -67 lines
Diff to previous 1.194 (colored)

rename various pagebuf symbols to xfsbuf

Revision 1.194 / (download) - annotate - [select for diffs], Thu May 5 14:56:23 2005 UTC (12 years, 5 months ago) by hch
Branch: MAIN
Changes since 1.193: +9 -2 lines
Diff to previous 1.193 (colored)

Resolve an issue with xfsbufd not getting along with swsusp.
(real checking this time, last one was empty)

Revision 1.193 / (download) - annotate - [select for diffs], Fri Apr 22 14:56:31 2005 UTC (12 years, 5 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.192: +0 -0 lines
Diff to previous 1.192 (colored)

Resolve an issue with xfsbufd  not getting along with swsusp.
Merge of xfs-linux-melb:xfs-kern:22342a by kenmcd.

Revision 1.192 / (download) - annotate - [select for diffs], Thu Mar 10 05:06:52 2005 UTC (12 years, 7 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.191: +2 -2 lines
Diff to previous 1.191 (colored)

Spinlock initialization API transition, merged back via mainline from tglx@linuxtronix@de.
Merge of xfs-linux-melb:xfs-kern:21794a by kenmcd.

Revision 1.191 / (download) - annotate - [select for diffs], Thu Mar 10 05:06:06 2005 UTC (12 years, 7 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.190: +1 -4 lines
Diff to previous 1.190 (colored)

Software suspend API transition, merged back via mainline from pavel@ucw.cz.
Merge of xfs-linux-melb:xfs-kern:21792a by kenmcd.

Revision 1.190 / (download) - annotate - [select for diffs], Wed Mar 9 05:00:30 2005 UTC (12 years, 7 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.189: +9 -8 lines
Diff to previous 1.189 (colored)

Steve noticed we were duplicating some work the block layer can do for us; switch to SYNC_READ/WRITE for some metadata buffers.
Merge of xfs-linux-melb:xfs-kern:21771a by kenmcd.

Revision 1.189 / (download) - annotate - [select for diffs], Wed Jan 19 13:48:14 2005 UTC (12 years, 8 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.188: +3 -3 lines
Diff to previous 1.188 (colored)

Fix mapping gfp_flags used on metadata buffer inode.
Merge of xfs-linux-melb:xfs-kern:21209a by kenmcd.

Revision 1.188 / (download) - annotate - [select for diffs], Tue Jan 18 22:34:00 2005 UTC (12 years, 9 months ago) by hch
Branch: MAIN
Changes since 1.187: +1 -1 lines
Diff to previous 1.187 (colored)

pagebuf_lock_value is also needed for trace builds
implement pagebuf_lock_value for XFS_BLI_TRACE also

Revision 1.187 / (download) - annotate - [select for diffs], Thu Jan 13 02:56:33 2005 UTC (12 years, 9 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.186: +0 -2 lines
Diff to previous 1.186 (colored)

Remove write congestion check during metadata readahead.
Merge of xfs-linux-melb:xfs-kern:21108a by kenmcd.

Revision 1.186 / (download) - annotate - [select for diffs], Sun Jan 9 22:51:45 2005 UTC (12 years, 9 months ago) by hch
Branch: MAIN
Changes since 1.185: +2 -0 lines
Diff to previous 1.185 (colored)

Fix compilations for parisc
pagebuf_lock_value dereferences struct semaphore, but the layout of             
it is machine-dependent.  Most architectures use a layout were                  
the dereference in pagebuf_lock_value is fine, but for example                  
parisc doesn't.                                                                 
                                                                                
pagebuf_lock_value isn't ever called in non-debug builds so compile             
it only for debug builds

Revision 1.185 / (download) - annotate - [select for diffs], Fri Dec 24 04:53:48 2004 UTC (12 years, 9 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.184: +101 -43 lines
Diff to previous 1.184 (colored)

Switch to managing uptodate state on a region within a page, rather than a sector within a page.  Fixes 64K pagesize kernels with 512 byte sectors.
Merge of xfs-linux-melb:xfs-kern:20990a by kenmcd.

Revision 1.184 / (download) - annotate - [select for diffs], Fri Dec 24 04:53:07 2004 UTC (12 years, 9 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.183: +98 -82 lines
Diff to previous 1.183 (colored)

Move to per-device hash tables (scalability), and use Bill Irwins hash (quicker).
Merge of xfs-linux-melb:xfs-kern:20989a by kenmcd.

Revision 1.183 / (download) - annotate - [select for diffs], Wed Dec 15 13:54:12 2004 UTC (12 years, 10 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.182: +12 -0 lines
Diff to previous 1.182 (colored)

Prevent attempts to mount 512 byte sector filesystems with 64KB pagesizes, until fixed.
Merge of xfs-linux-melb:xfs-kern:20780a by kenmcd.

Revision 1.182 / (download) - annotate - [select for diffs], Thu Dec 9 02:41:20 2004 UTC (12 years, 10 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.181: +2 -2 lines
Diff to previous 1.181 (colored)

Mark several functions as being static.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Merge of xfs-linux-melb:xfs-kern:20565a by kenmcd.

  Mark several functions as being static.

Revision 1.181 / (download) - annotate - [select for diffs], Thu Dec 9 02:40:38 2004 UTC (12 years, 10 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.180: +6 -9 lines
Diff to previous 1.180 (colored)

Low memory allocation improvements (quietness and blk congestion checks).

Signed-off-by: Miquel van Smoorenburg <miquels@cistron.net>
Merge of xfs-linux-melb:xfs-kern:20564a by kenmcd.

  Low memory allocation improvements (quietness and blk congestion checks).

Revision 1.180 / (download) - annotate - [select for diffs], Fri Nov 12 03:18:17 2004 UTC (12 years, 11 months ago) by sandeen
Branch: MAIN
Changes since 1.179: +28 -0 lines
Diff to previous 1.179 (colored)

Wait for all async buffers to complete before tearing down
the filesystem at umount time
add xfs_wait_buftarg - returns only when all async bufs for a buftarg
are complete

Revision 1.179 / (download) - annotate - [select for diffs], Fri Oct 29 23:00:11 2004 UTC (12 years, 11 months ago) by hch
Branch: MAIN
Changes since 1.178: +2 -2 lines
Diff to previous 1.178 (colored)

call the right function in pagebuf_readahead
call xfs_buf_get_flags from pagebuf_readahead

Revision 1.178 / (download) - annotate - [select for diffs], Wed Oct 27 11:23:21 2004 UTC (12 years, 11 months ago) by hch
Branch: MAIN
Changes since 1.177: +35 -40 lines
Diff to previous 1.177 (colored)

splitup pagebuf_get
split pagebuf_get into xfs_buf_get_flags and xfs_buf_read_flags

Revision 1.177 / (download) - annotate - [select for diffs], Tue Sep 7 19:08:24 2004 UTC (13 years, 1 month ago) by hch
Branch: MAIN
Changes since 1.176: +1 -4 lines
Diff to previous 1.176 (colored)

Remove a readahead page allocation failure warning, this will
happen under normal workloads and does not indicate a problem.
don't warn when _pagebuf_lookup_pages fails

Revision 1.176 / (download) - annotate - [select for diffs], Thu Aug 5 03:29:16 2004 UTC (13 years, 2 months ago) by nathans
Branch: MAIN
Changes since 1.175: +6 -2 lines
Diff to previous 1.175 (colored)

Fix a blocksize-smaller-than-pagesize hang when writing buffers with a shared page.

Revision 1.175 / (download) - annotate - [select for diffs], Sun Jun 27 18:03:49 2004 UTC (13 years, 3 months ago) by hch
Branch: MAIN
Changes since 1.174: +5 -1 lines
Diff to previous 1.174 (colored)

Don't derefence buffer after pagebuf_iostrategy()
Don't derefence buffer after pagebuf_iostrategy()

Revision 1.174 / (download) - annotate - [select for diffs], Fri Jun 25 06:15:54 2004 UTC (13 years, 3 months ago) by nathans
Branch: MAIN
Changes since 1.173: +41 -4 lines
Diff to previous 1.173 (colored)

Revert to using a separate inode for metadata buffers once more.  Prevents XFS from shutting down due to its view of the world being modified from below.  The BLKFLSBUF ioctl is another cause of this "corruption" and was the last straw.  Also fixes device initialisation failure handling.

Revision 1.173 / (download) - annotate - [select for diffs], Tue Jun 15 07:42:37 2004 UTC (13 years, 4 months ago) by hch
Branch: MAIN
Changes since 1.172: +28 -15 lines
Diff to previous 1.172 (colored)

Fix up memory allocators to try more hard
add shaker for pagebuf

Revision 1.172 / (download) - annotate - [select for diffs], Tue Jun 15 03:23:16 2004 UTC (13 years, 4 months ago) by nathans
Branch: MAIN
Changes since 1.171: +11 -2 lines
Diff to previous 1.171 (colored)

Fix a race condition in the undo-delayed-write buffer routine.

Revision 1.171 / (download) - annotate - [select for diffs], Thu May 27 09:15:06 2004 UTC (13 years, 4 months ago) by hch
Branch: MAIN
Changes since 1.170: +6 -3 lines
Diff to previous 1.170 (colored)

Don't leak locked pages on readahead failure
Don't leak locked pages on readahead failure

Revision 1.170 / (download) - annotate - [select for diffs], Wed May 19 06:45:45 2004 UTC (13 years, 5 months ago) by nathans
Branch: MAIN
Changes since 1.169: +3 -3 lines
Diff to previous 1.169 (colored)

Use set_current_state instead of direct current->state assignment.

Revision 1.169 / (download) - annotate - [select for diffs], Fri May 14 03:13:52 2004 UTC (13 years, 5 months ago) by nathans
Branch: MAIN
Changes since 1.168: +4 -3 lines
Diff to previous 1.168 (colored)

Export/import tunable time intervals as centisecs not jiffies.

Revision 1.168 / (download) - annotate - [select for diffs], Tue May 11 07:20:14 2004 UTC (13 years, 5 months ago) by nathans
Branch: MAIN
Changes since 1.167: +6 -6 lines
Diff to previous 1.167 (colored)

Fix mis-merge for some 2.6.6 components.

Revision 1.167 / (download) - annotate - [select for diffs], Tue May 11 05:52:03 2004 UTC (13 years, 5 months ago) by nathans
Branch: MAIN
Changes since 1.166: +9 -17 lines
Diff to previous 1.166 (colored)

Merge up to 2.6.6

Revision 1.166 / (download) - annotate - [select for diffs], Wed May 5 04:52:50 2004 UTC (13 years, 5 months ago) by fsgqa
Branch: MAIN
Changes since 1.165: +1 -4 lines
Diff to previous 1.165 (colored)

Remove the 128K limitation on pagebuf_get_no_daddr() and allow
the kmem_alloc() to fail.
Remove the 128K limitiation on pagebuf_get_no_daddr() and allow
the kmem_alloc to fail.

Revision 1.165 / (download) - annotate - [select for diffs], Thu Apr 22 12:49:48 2004 UTC (13 years, 5 months ago) by hch
Branch: MAIN
Changes since 1.164: +67 -7 lines
Diff to previous 1.164 (colored)

close external blockdevice after final flush
move buftarg handling here, close blockevice after flush

Revision 1.164 / (download) - annotate - [select for diffs], Wed Apr 14 06:39:17 2004 UTC (13 years, 6 months ago) by nathans
Branch: MAIN
Changes since 1.163: +4 -2 lines
Diff to previous 1.163 (colored)

Allow xfsbufd flush intervals to take immediate effect after changing the flush sysctl value.  Fix from Bart Samwel.

Revision 1.163 / (download) - annotate - [select for diffs], Wed Apr 7 07:00:13 2004 UTC (13 years, 6 months ago) by nathans
Branch: MAIN
Changes since 1.162: +2 -1 lines
Diff to previous 1.162 (colored)

Only use page->private to track page state for page cache pages

Revision 1.162 / (download) - annotate - [select for diffs], Fri Apr 2 04:53:37 2004 UTC (13 years, 6 months ago) by nathans
Branch: MAIN
Changes since 1.161: +3 -2 lines
Diff to previous 1.161 (colored)

Make buffer error checking consistent, add a value range check.

Revision 1.161 / (download) - annotate - [select for diffs], Mon Mar 29 19:55:10 2004 UTC (13 years, 6 months ago) by hch
Branch: MAIN
Changes since 1.160: +44 -82 lines
Diff to previous 1.160 (colored)

cleanup pagebuf flag usage and simplify pagebuf_free

Revision 1.160 / (download) - annotate - [select for diffs], Thu Mar 25 03:54:00 2004 UTC (13 years, 6 months ago) by nathans
Branch: MAIN
Changes since 1.159: +40 -77 lines
Diff to previous 1.159 (colored)

Fix delayed write buffer handling to use the correct list interfaces, add validity checks, remove unused code, and fix comments.

Revision 1.159 / (download) - annotate - [select for diffs], Wed Mar 24 07:30:46 2004 UTC (13 years, 6 months ago) by nathans
Branch: MAIN
Changes since 1.158: +17 -10 lines
Diff to previous 1.158 (colored)

Fix a very hard-to-hit, small-block-size only corruption from a recent change.

Revision 1.158 / (download) - annotate - [select for diffs], Thu Mar 18 06:50:14 2004 UTC (13 years, 7 months ago) by hch
Branch: MAIN
Changes since 1.157: +5 -5 lines
Diff to previous 1.157 (colored)

Don't reset offset before using it.  Clean up some confusing logic

Revision 1.157 / (download) - annotate - [select for diffs], Mon Mar 15 22:10:59 2004 UTC (13 years, 7 months ago) by sandeen
Branch: MAIN
Changes since 1.156: +1 -1 lines
Diff to previous 1.156 (colored)

Use pgoff_t type for page indices, and remove
some other type confusion

Revision 1.156 / (download) - annotate - [select for diffs], Wed Mar 10 13:07:14 2004 UTC (13 years, 7 months ago) by hch
Branch: MAIN
Changes since 1.155: +115 -140 lines
Diff to previous 1.155 (colored)

clarify pagebuf page lookup logic

Revision 1.155 / (download) - annotate - [select for diffs], Sat Feb 28 13:41:58 2004 UTC (13 years, 7 months ago) by hch
Branch: MAIN
Changes since 1.154: +65 -65 lines
Diff to previous 1.154 (colored)

really kill the pagebuf vs xfs_buf confusion

Revision 1.154 / (download) - annotate - [select for diffs], Sat Feb 28 12:07:56 2004 UTC (13 years, 7 months ago) by hch
Branch: MAIN
Changes since 1.153: +0 -0 lines
Diff to previous 1.153 (colored)

replace page_buf_t, pb_target_t and page_buf_daddr_t with their xfs_ variants

Revision 1.153 / (download) - annotate - [select for diffs], Fri Feb 27 22:10:14 2004 UTC (13 years, 7 months ago) by hch
Branch: MAIN
Changes since 1.152: +49 -45 lines
Diff to previous 1.152 (colored)

use kmem_alloc for noaddr buffers

Revision 1.152 / (download) - annotate - [select for diffs], Wed Feb 25 05:53:35 2004 UTC (13 years, 7 months ago) by nathans
Branch: MAIN
Changes since 1.151: +6 -7 lines
Diff to previous 1.151 (colored)

Remove PBF_SYNC buffer flag, unused for some time now.

Revision 1.151 / (download) - annotate - [select for diffs], Fri Feb 20 23:41:31 2004 UTC (13 years, 7 months ago) by hch
Branch: MAIN
Changes since 1.150: +0 -4 lines
Diff to previous 1.150 (colored)

kill some dead constants from pagebuf
kill some dead constants from pagebuf

Revision 1.150 / (download) - annotate - [select for diffs], Fri Feb 20 18:18:31 2004 UTC (13 years, 7 months ago) by hch
Branch: MAIN
Changes since 1.149: +16 -31 lines
Diff to previous 1.149 (colored)

plug race in pagebuf freeing
avoid small window where a buffer has pb_hold == 0 but is still on the
hash list

Revision 1.149 / (download) - annotate - [select for diffs], Thu Feb 19 14:45:48 2004 UTC (13 years, 7 months ago) by hch
Branch: MAIN
Changes since 1.148: +1 -0 lines
Diff to previous 1.148 (colored)

only lock pagecache pages
only lock pagecache pages

Revision 1.148 / (download) - annotate - [select for diffs], Thu Feb 12 09:46:51 2004 UTC (13 years, 8 months ago) by hch
Branch: MAIN
Changes since 1.147: +1 -1 lines
Diff to previous 1.147 (colored)

Fix up daemon names
rename pagebufd to xfsbufd

Revision 1.147 / (download) - annotate - [select for diffs], Tue Feb 10 12:01:38 2004 UTC (13 years, 8 months ago) by hch
Branch: MAIN
Changes since 1.146: +13 -195 lines
Diff to previous 1.146 (colored)

use generic XFS stats and sysctl infrastructure in pagebuf
use generic XFS statistics and sysctl infrastructure

Revision 1.146 / (download) - annotate - [select for diffs], Thu Feb 5 22:10:44 2004 UTC (13 years, 8 months ago) by nathans
Branch: MAIN
Changes since 1.145: +3 -2 lines
Diff to previous 1.145 (colored)

Fix compile warning, ensure _pagebuf_lookup_pages return value is inited.

Revision 1.145 / (download) - annotate - [select for diffs], Wed Feb 4 22:52:02 2004 UTC (13 years, 8 months ago) by hch
Branch: MAIN
Changes since 1.144: +22 -35 lines
Diff to previous 1.144 (colored)

Avoid NULL returns from pagebuf_get
- use kmem_alloc for pb_pages to avoid failures
- loop until find_or_create_page succeeds (you haven't seen this, have you?)

Revision 1.144 / (download) - annotate - [select for diffs], Tue Feb 3 21:13:55 2004 UTC (13 years, 8 months ago) by hch
Branch: MAIN
Changes since 1.143: +14 -3 lines
Diff to previous 1.143 (colored)

plug a pagebuf leak
need to decrement the reference count in pagebuf_free or the race detection
will get a false positive

Revision 1.143 / (download) - annotate - [select for diffs], Tue Feb 3 16:21:12 2004 UTC (13 years, 8 months ago) by hch
Branch: MAIN
Changes since 1.142: +3 -6 lines
Diff to previous 1.142 (colored)

Remove PBF_MAPPABLE
Remove PBF_MAPPABLE - it was always set for ages.

Revision 1.142 / (download) - annotate - [select for diffs], Mon Feb 2 23:23:48 2004 UTC (13 years, 8 months ago) by nathans
Branch: MAIN
Changes since 1.141: +1 -4 lines
Diff to previous 1.141 (colored)

Use list_move for moving pagebufs between lists, not list_add/list_del

Revision 1.141 / (download) - annotate - [select for diffs], Mon Feb 2 23:06:23 2004 UTC (13 years, 8 months ago) by hch
Branch: MAIN
Changes since 1.140: +21 -32 lines
Diff to previous 1.140 (colored)

Remove the lockable/not lockable buffer distinction.  All metada buffers
are lockable these days.
remove checks for _PBF_LOCKABLE

Revision 1.140 / (download) - annotate - [select for diffs], Mon Feb 2 22:25:29 2004 UTC (13 years, 8 months ago) by hch
Branch: MAIN
Changes since 1.139: +12 -7 lines
Diff to previous 1.139 (colored)

Fix buffer teardown on _pagebuf_lookup_pages failure
If a buffer is on the hash we can't simply call pagebuf_free on it.

Revision 1.139 / (download) - annotate - [select for diffs], Fri Jan 30 00:31:35 2004 UTC (13 years, 8 months ago) by hch
Branch: MAIN
Changes since 1.138: +34 -35 lines
Diff to previous 1.138 (colored)

Plug a pagebuf race that got bigger with the recent cleanup
- drop out of pagebuf_free if the buffer hold count was incremented before
   taking the lock
 - ignore buffers with a zero hold-count in _pagebuf_find
 - kill PBF_FREED flag, as it was racy

Revision 1.138 / (download) - annotate - [select for diffs], Thu Jan 29 19:05:20 2004 UTC (13 years, 8 months ago) by hch
Branch: MAIN
Changes since 1.137: +21 -32 lines
Diff to previous 1.137 (colored)

Stop using sleep_on
Switch pagebuf_daemon from sleep_on to schedule_timeout

Revision 1.137 / (download) - annotate - [select for diffs], Thu Jan 29 07:35:01 2004 UTC (13 years, 8 months ago) by hch
Branch: MAIN
Changes since 1.136: +6 -2 lines
Diff to previous 1.136 (colored)

Don't fail pagebuf allocations
uses kmem_zone_alloc to make buffer allocations never fail

Revision 1.136 / (download) - annotate - [select for diffs], Tue Jan 27 18:47:46 2004 UTC (13 years, 8 months ago) by hch
Branch: MAIN
Changes since 1.135: +12 -49 lines
Diff to previous 1.135 (colored)

Simplify pagebuf_rele / pagebuf_free
Simplify the pagebuf release path by taking the hash lock only where needed.

Revision 1.135 / (download) - annotate - [select for diffs], Wed Jan 21 05:55:14 2004 UTC (13 years, 8 months ago) by nathans
Branch: MAIN
Changes since 1.134: +0 -11 lines
Diff to previous 1.134 (colored)

Revisit symbol exports, move left-over debug/behavior exports outta the way of regular builds.

Revision 1.134 / (download) - annotate - [select for diffs], Fri Jan 2 02:07:51 2004 UTC (13 years, 9 months ago) by hch
Branch: MAIN
Changes since 1.133: +4 -0 lines
Diff to previous 1.133 (colored)

Small ktace fixes
make sure to free trace buffer on module unload

Revision 1.133 / (download) - annotate - [select for diffs], Tue Dec 30 01:31:52 2003 UTC (13 years, 9 months ago) by cattelan
Branch: MAIN
Changes since 1.132: +5 -2 lines
Diff to previous 1.132 (colored)

Final bit of code moving to unify the tree
rename page_buf.c/h to xfs_buf.c/h and merge in upper level xfs_buf.h
include xfs_buf.h 

Revision 1.132 / (download) - annotate - [select for diffs], Tue Dec 9 03:14:15 2003 UTC (13 years, 10 months ago) by nathans
Branch: MAIN
Changes since 1.131: +10 -15 lines
Diff to previous 1.131 (colored)

Fix a small pagebuf memory leak and keep track of slab pages ourselves.
Merge of xfs-linux:slinx:163124a by nathans.

Revision 1.131 / (download) - annotate - [select for diffs], Tue Dec 9 00:27:26 2003 UTC (13 years, 10 months ago) by nathans
Branch: MAIN
Changes since 1.130: +2 -7 lines
Diff to previous 1.130 (colored)

Fix a possible bio-leak on I/O submission, in a case where no I/O was required.

Revision 1.130 / (download) - annotate - [select for diffs], Tue Dec 9 00:16:12 2003 UTC (13 years, 10 months ago) by nathans
Branch: MAIN
Changes since 1.129: +4 -2 lines
Diff to previous 1.129 (colored)

Fix async pagebuf I/O tracing at the bottom of pagebuf_get.
Merge of xfs-linux:slinx:163118a by nathans.

Revision 1.129 / (download) - annotate - [select for diffs], Fri Nov 21 21:38:41 2003 UTC (13 years, 10 months ago) by sandeen
Branch: MAIN
Changes since 1.128: +1 -1 lines
Diff to previous 1.128 (colored)

Fix sysctl handlers to expect ints
Merge of xfs-linux:slinx:162287a originally by sandeen on 11/21/03
  Fix the pb stats clear handler, value is
  int but handler was using ulong
  Merge of 2.4.x-xfs-kern:slinx:162287a by sandeen.
  Set up pb clear handler properly for int value

Revision 1.128 / (download) - annotate - [select for diffs], Thu Nov 20 06:31:04 2003 UTC (13 years, 11 months ago) by nathans
Branch: MAIN
Changes since 1.127: +113 -79 lines
Diff to previous 1.127 (colored)

Change pagebuf to use the same ktrace implementation as XFS, instead of reinventing that wheel.
Merge of xfs-linux:slinx:162159a by nathans.

Revision 1.127 / (download) - annotate - [select for diffs], Thu Nov 20 03:51:05 2003 UTC (13 years, 11 months ago) by nathans
Branch: MAIN
Changes since 1.126: +89 -9 lines
Diff to previous 1.126 (colored)

Merge page_buf_locking routines in with the rest of page_buf.
Merge of xfs-linux:slinx:162155a by nathans.

Revision 1.126 / (download) - annotate - [select for diffs], Mon Oct 27 00:55:45 2003 UTC (13 years, 11 months ago) by nathans
Branch: MAIN
Changes since 1.125: +2 -0 lines
Diff to previous 1.125 (colored)

Fix pagebuf delwri list (static) accesses from within xfsidbg code.

Revision 1.125 / (download) - annotate - [select for diffs], Wed Oct 22 23:12:48 2003 UTC (13 years, 11 months ago) by nathans
Branch: MAIN
Changes since 1.124: +1 -0 lines
Diff to previous 1.124 (colored)

Fix xfsidbg module builds, need an export from pagebuf.

Revision 1.124 / (download) - annotate - [select for diffs], Fri Sep 26 17:49:45 2003 UTC (14 years ago) by sandeen
Branch: MAIN
Changes since 1.123: +15 -7 lines
Diff to previous 1.123 (colored)

Re-work pagebuf & xfs stats to use per-cpu variables -
big globals that are written all the time

Revision 1.123 / (download) - annotate - [select for diffs], Fri Sep 26 15:47:54 2003 UTC (14 years ago) by lord
Branch: MAIN
Changes since 1.122: +0 -2 lines
Diff to previous 1.122 (colored)

fix the other half of the merge snafu
remove the other spinlock snafu

Revision 1.122 / (download) - annotate - [select for diffs], Fri Sep 26 15:36:16 2003 UTC (14 years ago) by lord
Branch: MAIN
Changes since 1.121: +0 -2 lines
Diff to previous 1.121 (colored)

fix merge error in pagebuf flush logic, bogus spinlock obtain was
left in the code.
Remove extra spinlock call left in from merge snafu

Revision 1.121 / (download) - annotate - [select for diffs], Wed Sep 24 21:56:24 2003 UTC (14 years ago) by lord
Branch: MAIN
Changes since 1.120: +21 -27 lines
Diff to previous 1.120 (colored)

Close some holes in the metadata flush logic used during unmount,
make sure we have no pending I/O completion calls for metadata,
and that we only keep hold of metadata buffers for I/O completion
if we want to. Still not perfect, but better than it was.
Merge of xfs-linux:slinx:158933a by lord.

  Rework metadata flushing logic for unmount

Revision 1.120 / (download) - annotate - [select for diffs], Tue Sep 23 16:09:21 2003 UTC (14 years ago) by lord
Branch: MAIN
Changes since 1.119: +3 -6 lines
Diff to previous 1.119 (colored)

Switch pagebuf hashing to be based on the block_device address
rather than the dev_t. Should give better distribution.
Merge of xfs-linux:slinx:158800a by lord.

  change _bhash to use block_device address rather than bd_dev
  for hashing.

Revision 1.119 / (download) - annotate - [select for diffs], Fri Sep 19 20:16:01 2003 UTC (14 years, 1 month ago) by sandeen
Branch: MAIN
Changes since 1.118: +4 -4 lines
Diff to previous 1.118 (colored)

Update sysctls - use ints, not ulongs, and show pagebuf
values in jiffies like everybody else
Merge of xfs-linux:slinx:158665a by lord.

Revision 1.118 / (download) - annotate - [select for diffs], Fri Sep 19 15:20:10 2003 UTC (14 years, 1 month ago) by sandeen
Branch: MAIN
Changes since 1.117: +9 -9 lines
Diff to previous 1.117 (colored)

Re-work pagebuf stats macros to help support per-cpu data
Merge of xfs-linux:slinx:158653a by sandeen.

Revision 1.117 / (download) - annotate - [select for diffs], Thu Aug 14 06:34:18 2003 UTC (14 years, 2 months ago) by nathans
Branch: MAIN
Changes since 1.116: +36 -25 lines
Diff to previous 1.116 (colored)

Fix a race condition in async pagebuf IO completion, by moving blk queue manipulation down into pagebuf.  Fix some busted comments in page_buf.h, use a more descriptive name for __pagebuf_iorequest.
Merge of xfs-linux:slinx:155788a by nathans.

Revision 1.116 / (download) - annotate - [select for diffs], Fri Aug 1 06:57:10 2003 UTC (14 years, 2 months ago) by nathans
Branch: MAIN
Changes since 1.115: +72 -58 lines
Diff to previous 1.115 (colored)

Forward port 2.4 pagebuf locking to 2.5, based on Steve's analysis - to fix the infamous pagebuf IO completion buglet.

Revision 1.115 / (download) - annotate - [select for diffs], Tue Jul 29 16:56:00 2003 UTC (14 years, 2 months ago) by lord
Branch: MAIN
Changes since 1.114: +18 -14 lines
Diff to previous 1.114 (colored)

Fix a couple of pagebuf end cases, in particular, deal with block
device which is not correctly initialized and do not submit a bio
to it - that trips a BUG.
Deal with the case where a block device will not take any I/O,
do not submit empty bio structures to it.

Revision 1.114 / (download) - annotate - [select for diffs], Mon Jul 14 05:18:55 2003 UTC (14 years, 3 months ago) by nathans
Branch: MAIN
Changes since 1.113: +2 -1 lines
Diff to previous 1.113 (colored)

Cleanup empty/noaddr pagebuf initialisation; particularly for buffers used for log IO - no longer allocate buffers for data device then reset target, gets it right from the start.
Merge of xfs-linux:slinx:153115a by nathans.

Revision 1.113 / (download) - annotate - [select for diffs], Wed Jul 2 16:09:27 2003 UTC (14 years, 3 months ago) by sandeen
Branch: MAIN
Changes since 1.112: +5 -5 lines
Diff to previous 1.112 (colored)

Use C99 initializers on sysctl structs
Merge of xfs-linux:slinx:152435a by sandeen.

Revision 1.112 / (download) - annotate - [select for diffs], Wed Jul 2 04:07:22 2003 UTC (14 years, 3 months ago) by sandeen
Branch: MAIN
Changes since 1.111: +1 -1 lines
Diff to previous 1.111 (colored)

Whoops, fix up pagebuf debug sysctl table entry
Merge of xfs-linux:slinx:152421a by sandeen.

Revision 1.111 / (download) - annotate - [select for diffs], Wed Jul 2 04:01:12 2003 UTC (14 years, 3 months ago) by sandeen
Branch: MAIN
Changes since 1.110: +23 -16 lines
Diff to previous 1.110 (colored)

rework sysctl initialization to avoid confusion
Merge of xfs-linux:slinx:152419a by sandeen.

Revision 1.110 / (download) - annotate - [select for diffs], Thu Jun 12 18:25:59 2003 UTC (14 years, 4 months ago) by lord
Branch: MAIN
Changes since 1.109: +2 -2 lines
Diff to previous 1.109 (colored)

Move the pagebuf_runall_queues out from under a spinlock, if it
sleeps (which it might), this is not the right place for it to
be. There is also no reason for it to be under a spinlock.
Merge of 2.4.x-xfs:slinx:151032a by lord.

  move pagebuf_runall_queues out from under the pbd_delwrite_lock
  spinlock.

Revision 1.109 / (download) - annotate - [select for diffs], Wed May 14 13:36:10 2003 UTC (14 years, 5 months ago) by hch
Branch: MAIN
Changes since 1.108: +1 -1 lines
Diff to previous 1.108 (colored)

Use __GFP_NORETRY in pagebuf readahead code

Revision 1.108 / (download) - annotate - [select for diffs], Wed May 14 12:38:47 2003 UTC (14 years, 5 months ago) by hch
Branch: MAIN
Changes since 1.107: +0 -9 lines
Diff to previous 1.107 (colored)

simplify memory allocation code big time
remove shaker code, there's no way to express the pagebuf shaker in the
slab-centric Linux shrinker view

Revision 1.107 / (download) - annotate - [select for diffs], Mon May 12 06:45:51 2003 UTC (14 years, 5 months ago) by nathans
Branch: MAIN
Changes since 1.106: +8 -8 lines
Diff to previous 1.106 (colored)

Fix up a pagebuf spelling mistake and a couple of whitespace botches.
Merge of 2.4.x-xfs:slinx:148595a by nathans.

Revision 1.106 / (download) - annotate - [select for diffs], Fri May 9 14:32:53 2003 UTC (14 years, 5 months ago) by hch
Branch: MAIN
Changes since 1.105: +2 -1 lines
Diff to previous 1.105 (colored)

fix uo a mall merge glitch

Revision 1.105 / (download) - annotate - [select for diffs], Wed Apr 23 17:52:33 2003 UTC (14 years, 5 months ago) by lord
Branch: MAIN
Changes since 1.104: +14 -0 lines
Diff to previous 1.104 (colored)

Fix a use after free in the unwritten extent code. Also rework the
interface to the allocator to have its own flag set, and always
go through the same interface in all cases rather than having
unwritten extent requests take a different path from all others.
Merge of 2.4.x-xfs:slinx:146255a originally by lord on 04/18/03
  A number of unwritten extent fixes, fix some reference count 
  and locking issues, also make allocation interface always
  go into core xfs via the same route rather than having a
  distinct interface for unwritten extents. 
  When flushing metadata for a device, ensure there are no pending
  unwritten extent conversions pending for the I/O completion threads.

Revision 1.104 / (download) - annotate - [select for diffs], Wed Apr 16 20:09:14 2003 UTC (14 years, 6 months ago) by cattelan
Branch: MAIN
Changes since 1.103: +21 -21 lines
Diff to previous 1.103 (colored)

Whitespace cleanup
Merge whitespace cleanup to 2.5 tree
Merge of 2.4.x-xfs:slinx:144573a by cattelan.

  Clean up some whitespace... revert some whitespace changes from previous whitespace cleanup (incorrect tabs)

Revision 1.103 / (download) - annotate - [select for diffs], Fri Mar 21 04:26:53 2003 UTC (14 years, 7 months ago) by sandeen
Branch: MAIN
Changes since 1.102: +3 -5 lines
Diff to previous 1.102 (colored)

Use mod_timer in place of del/modify/add (can race)
Also use del_timer_sync when we're done.
Merge of 2.4.x-xfs-dev:slinx:142197a by sandeen.

Revision 1.102 / (download) - annotate - [select for diffs], Thu Mar 20 21:42:19 2003 UTC (14 years, 7 months ago) by nathans
Branch: MAIN
Changes since 1.101: +2 -2 lines
Diff to previous 1.101 (colored)

Add back the pagebuf flag for scheduling on the data daemon.  Moving
this into just a pagebuf_iodone parameter was broken as we don't have
sufficient state in all the places we need it to make the decision.
Merge of 2.4.x-xfs:slinx:141626a by nathans.

Revision 1.101 / (download) - annotate - [select for diffs], Wed Mar 12 05:37:01 2003 UTC (14 years, 7 months ago) by nathans
Branch: MAIN
Changes since 1.100: +40 -9 lines
Diff to previous 1.100 (colored)

Implement support for unwritten extents in XFS.
Create separate IO completion work queues in pagebuf for log/data
IO, to prevent deadlocks when scheduling iclog/unwritten extent IO
completion  handlers.

Revision 1.100 / (download) - annotate - [select for diffs], Fri Feb 21 05:23:23 2003 UTC (14 years, 7 months ago) by nathans
Branch: MAIN
Changes since 1.99: +22 -52 lines
Diff to previous 1.99 (colored)

Revert the recent hashing change, performance seemed to go way down in
certain benchmarks.  This is reverted to how it was, except the number
of hash buckets is larger than previously to attempt to account for the
workload Steve was originally targetting with that change.
Merge of 2.4.x-xfs:slinx:140053a by nathans.

Revision 1.99 / (download) - annotate - [select for diffs], Fri Feb 21 04:52:30 2003 UTC (14 years, 7 months ago) by nathans
Branch: MAIN
Changes since 1.98: +12 -12 lines
Diff to previous 1.98 (colored)

Fix some comments, remove an unused variable from the stack, fix missing
clear of pb_locking field if IO completion handled in pagebuf_iorequest.
Merge of 2.4.x-xfs:slinx:140047a by nathans.

Revision 1.98 / (download) - annotate - [select for diffs], Thu Feb 20 22:25:10 2003 UTC (14 years, 7 months ago) by nathans
Branch: MAIN
Changes since 1.97: +1 -1 lines
Diff to previous 1.97 (colored)

Remove some off_t abuse in pagebuf_offset and the page_io routine,
after some careful analysis.
Merge of 2.4.x-xfs:slinx:140039a by nathans.

Revision 1.97 / (download) - annotate - [select for diffs], Thu Feb 20 04:50:22 2003 UTC (14 years, 7 months ago) by sandeen
Branch: MAIN
Changes since 1.96: +5 -0 lines
Diff to previous 1.96 (colored)

Allow the pagebuf daemon to suspend.

Revision 1.96 / (download) - annotate - [select for diffs], Wed Feb 19 17:13:22 2003 UTC (14 years, 7 months ago) by hch
Branch: MAIN
Changes since 1.95: +52 -22 lines
Diff to previous 1.95 (colored)

Under heavy load, there are not enough hash buckets to deal with
the number of metadata buffers. Use the same techniques as the
regular linux buffer cache here.

use more hash buckets for holding xfs metadata, and use the same
hash algorithm as the regular buffer cache.
Merge of 2.4.x-xfs:slinx:139864a originally by lord on 02/14/03
  use more hash buckets for holding xfs metadata, and use the same
  hash algorithm as the regular buffer cache.
  base the number of hash buckets for xfs metadata on the amount of
  memory in the system, and use the same hash algorithm as the 
  regular buffer cache.

Merge of 2.4.x-xfs:slinx:139926a originally by lord on 02/17/03
  fix the new hashing code, cap buckets more aggressively, and expand
  pb_hash_index to fit the new hash range.
  cap hash buckets at 2K

Revision 1.95 / (download) - annotate - [select for diffs], Wed Feb 19 15:07:52 2003 UTC (14 years, 7 months ago) by hch
Branch: MAIN
Changes since 1.94: +1 -8 lines
Diff to previous 1.94 (colored)

Merge up to Linux 2.5.62

Revision 1.94 / (download) - annotate - [select for diffs], Tue Feb 11 19:51:18 2003 UTC (14 years, 8 months ago) by hch
Branch: MAIN
Changes since 1.93: +2 -2 lines
Diff to previous 1.93 (colored)

Merge up to 2.5.60

Revision 1.93 / (download) - annotate - [select for diffs], Mon Feb 10 15:33:15 2003 UTC (14 years, 8 months ago) by hch
Branch: MAIN
Changes since 1.92: +2 -2 lines
Diff to previous 1.92 (colored)

make pagebuf_delwri_queue static
Merge of 2.4.x-xfs:slinx:138828a by hch.

  make pagebuf_delwri_queue static

Revision 1.92 / (download) - annotate - [select for diffs], Thu Jan 30 19:10:35 2003 UTC (14 years, 8 months ago) by lord
Branch: MAIN
Changes since 1.91: +2 -10 lines
Diff to previous 1.91 (colored)

fix initialization of bio in end case where we are dealing with sub page
sized requests.
fix some bio init code

Revision 1.91 / (download) - annotate - [select for diffs], Mon Jan 13 19:52:52 2003 UTC (14 years, 9 months ago) by hch
Branch: MAIN
Changes since 1.90: +1 -5 lines
Diff to previous 1.90 (colored)

Merge up to 2.5.54

Revision 1.90 / (download) - annotate - [select for diffs], Thu Jan 2 01:45:00 2003 UTC (14 years, 9 months ago) by nathans
Branch: MAIN
Changes since 1.89: +3 -3 lines
Diff to previous 1.89 (colored)

Fix up some comments, tidy up some macros - no functional changes.
Merge of 2.4.x-xfs:slinx:135917a by nathans.

  Fix some comments related to IO completion callbacks.

Revision 1.89 / (download) - annotate - [select for diffs], Wed Dec 11 18:47:17 2002 UTC (14 years, 10 months ago) by hch
Branch: MAIN
Changes since 1.88: +1 -23 lines
Diff to previous 1.88 (colored)

remove some dead code from pagebuf
remove pagebuf_lookup and references to _PBF_PRIVATE_BH

Revision 1.88 / (download) - annotate - [select for diffs], Wed Dec 11 17:46:27 2002 UTC (14 years, 10 months ago) by hch
Branch: MAIN
Changes since 1.87: +21 -22 lines
Diff to previous 1.87 (colored)

merge page_buf_private_t into page_buf_t
Merge of 2.4.x-xfs:slinx:134949a by hch.

  get rid of PBP() uses

Revision 1.87 / (download) - annotate - [select for diffs], Wed Dec 11 11:11:56 2002 UTC (14 years, 10 months ago) by hch
Branch: MAIN
Changes since 1.86: +33 -48 lines
Diff to previous 1.86 (colored)

get rid of pb_daemon/pagebuf_daemon_t
Merge of 2.4.x-xfs:slinx:134787a by hch.

  replace pb_daemon with three individual variables, fix up sleep_on
  mess in the module unload path

Revision 1.86 / (download) - annotate - [select for diffs], Mon Dec 9 18:31:17 2002 UTC (14 years, 10 months ago) by hch
Branch: MAIN
Changes since 1.85: +9 -46 lines
Diff to previous 1.85 (colored)

rationalize pagebuf_iomove
Merge of 2.4.x-xfs:slinx:134775a by hch.

  merge pagebuf_iomove and pagebuf_segment, get rid of off_t abuse in it

Revision 1.85 / (download) - annotate - [select for diffs], Tue Dec 3 20:42:32 2002 UTC (14 years, 10 months ago) by hch
Branch: MAIN
Changes since 1.84: +1 -6 lines
Diff to previous 1.84 (colored)

remove two dead members from pagebuf_daemon
Merge of 2.4.x-xfs:slinx:134222a by hch.

  don't reference write-only io_active and pb_delwri_cnt members of pagebuf_daemon

Revision 1.84 / (download) - annotate - [select for diffs], Tue Dec 3 20:15:17 2002 UTC (14 years, 10 months ago) by hch
Branch: MAIN
Changes since 1.83: +1 -1 lines
Diff to previous 1.83 (colored)

misc tidyups
don't include compiler.h
include workqueue.h directly

Revision 1.83 / (download) - annotate - [select for diffs], Tue Dec 3 18:39:56 2002 UTC (14 years, 10 months ago) by hch
Branch: MAIN
Changes since 1.82: +4 -5 lines
Diff to previous 1.82 (colored)

rename pagebuf_run_task_queue to pagebuf_run_queues
Merge of 2.4.x-xfs:slinx:134187a by hch.

  rename pagebuf_run_task_queue to pagebuf_run_queues

Revision 1.82 / (download) - annotate - [select for diffs], Tue Dec 3 18:15:04 2002 UTC (14 years, 10 months ago) by hch
Branch: MAIN
Changes since 1.81: +2 -5 lines
Diff to previous 1.81 (colored)

make pagebuf_workqueue private to page_buf.c
make pagebuf_workqueue private to page_buf.c

Revision 1.81 / (download) - annotate - [select for diffs], Tue Dec 3 16:45:57 2002 UTC (14 years, 10 months ago) by lord
Branch: MAIN
Changes since 1.80: +20 -17 lines
Diff to previous 1.80 (colored)

clean up use of run_task_queue in xfs
Merge of 2.4.x-xfs:slinx:133254a by hch.

  we had one unneeded run_task_queue in here, kill it, also
  wrap run_task_queue in a test to see if there is pending
  I/O on the buffer in question. Make it possible to run th
  io completion code locally rather than scheduling it,
  for the cases where we are not in interrupt context.

Revision 1.80 / (download) - annotate - [select for diffs], Mon Dec 2 05:16:48 2002 UTC (14 years, 10 months ago) by nathans
Branch: MAIN
Changes since 1.79: +1 -50 lines
Diff to previous 1.79 (colored)

Cleanup after initially investigating unwritten extents.
Merge of 2.4.x-xfs:slinx:134059a by nathans.

  Rationalise tracking debugging, tidy tracing debugging.

Revision 1.79 / (download) - annotate - [select for diffs], Fri Nov 22 19:45:05 2002 UTC (14 years, 10 months ago) by hch
Branch: MAIN
Changes since 1.78: +0 -0 lines
Diff to previous 1.78 (colored)

Undoes mod:     2.4.x-xfs:slinx:133729a
Undo pagebuf off_t changes
Merge of 2.4.x-xfs:slinx:133845a by hch.

Revision 1.78 / (download) - annotate - [select for diffs], Thu Nov 21 15:43:11 2002 UTC (14 years, 10 months ago) by hch
Branch: MAIN
Changes since 1.77: +0 -1 lines
Diff to previous 1.77 (colored)

remove unused variable in pagebuf
remove unused variable 'sectorshift' in pagebuf_iorequest

Revision 1.77 / (download) - annotate - [select for diffs], Wed Nov 20 06:22:15 2002 UTC (14 years, 11 months ago) by nathans
Branch: MAIN
Changes since 1.76: +30 -32 lines
Diff to previous 1.76 (colored)

pagebuf can now take a configurable sector size (512 -> 32K).
Merge of 2.4.x-xfs:slinx:132942a by nathans.

  Remove the hardcoded sector size of 512 bytes, make it configurable.

Revision 1.76 / (download) - annotate - [select for diffs], Mon Nov 18 13:53:17 2002 UTC (14 years, 11 months ago) by hch
Branch: MAIN
Changes since 1.75: +12 -0 lines
Diff to previous 1.75 (colored)

readahead fixes
don't read ahead btree data if the queues are congested and don't complain
if the ra allocations fail - we explicitly asked for it to fail easily

Revision 1.75 / (download) - annotate - [select for diffs], Tue Nov 12 20:03:44 2002 UTC (14 years, 11 months ago) by hch
Branch: MAIN
Changes since 1.74: +16 -7 lines
Diff to previous 1.74 (colored)

Fix unchecked kmalloc() in pagebuf
Merge of 2.4.x-xfs:slinx:132859a by hch.

  Free virtual mappings directly if we fail to allocate a aentry

Revision 1.74 / (download) - annotate - [select for diffs], Mon Nov 11 17:18:27 2002 UTC (14 years, 11 months ago) by lord
Branch: MAIN
Changes since 1.73: +1 -1 lines
Diff to previous 1.73 (colored)

missing from 2.5.47 merge
put a cast back in - keep code same as Linus's version.

Revision 1.73 / (download) - annotate - [select for diffs], Mon Nov 11 16:35:43 2002 UTC (14 years, 11 months ago) by lord
Branch: MAIN
Changes since 1.72: +1 -1 lines
Diff to previous 1.72 (colored)

use new timer initialization macro

Revision 1.72 / (download) - annotate - [select for diffs], Mon Nov 4 20:19:10 2002 UTC (14 years, 11 months ago) by lord
Branch: MAIN
Changes since 1.71: +1 -1 lines
Diff to previous 1.71 (colored)

merge up to 2.5.45

Revision 1.71 / (download) - annotate - [select for diffs], Mon Nov 4 20:00:33 2002 UTC (14 years, 11 months ago) by lord
Branch: MAIN
Changes since 1.70: +0 -0 lines
Diff to previous 1.70 (colored)

make pagebuf independent of the size of the b_size field,
we were assuming 2 bytes which is not always the case with
some patchsets applied.
Merge of 2.4.x-xfs:slinx:131952a by lord.

  do not hard code the field width of bh->b_size

Revision 1.70 / (download) - annotate - [select for diffs], Mon Nov 4 18:33:28 2002 UTC (14 years, 11 months ago) by lord
Branch: MAIN
Changes since 1.69: +0 -0 lines
Diff to previous 1.69 (colored)

Contributed fix from ASANO Masahiro <masano@tnes.nec.co.jp>, for the
case where we are going to get multiple I/O completions from the
driver under pagebuf, set the expected completion count in one go
rather than incrementing it as we submit requests. Otherwise we
can get multiple I/O completions which get treated as the last one.
Merge of 2.4.x-xfs:slinx:131215a by lord.

  set psync->remain in one go rather than incrementing it several
  times.

Revision 1.69 / (download) - annotate - [select for diffs], Thu Oct 24 16:05:46 2002 UTC (14 years, 11 months ago) by sandeen
Branch: MAIN
Changes since 1.68: +8 -10 lines
Diff to previous 1.68 (colored)

pagebuf flags cleanup
Merge of 2.4.x-xfs:slinx:130823a by sandeen.

  Remove comment references to dead pagebuf flags
  Consistently use page_buf_flags_t for flag vars

Revision 1.68 / (download) - annotate - [select for diffs], Thu Oct 24 15:38:39 2002 UTC (14 years, 11 months ago) by hch
Branch: MAIN
Changes since 1.67: +2 -1 lines
Diff to previous 1.67 (colored)

fix NULL pointer dereference in pagebuf
Merge of 2.4.x-xfs:slinx:130709a by sandeen.

  Check for pages beeing non-NULL before unlocking in

Revision 1.67 / (download) - annotate - [select for diffs], Tue Oct 8 17:33:15 2002 UTC (15 years ago) by lord
Branch: MAIN
Changes since 1.66: +15 -7 lines
Diff to previous 1.66 (colored)

xfs components of the 2.5.41 merge.
CONTRIBUTED: Makefile format changes from
	Kai Germaschewski <kai-germaschewski@uiowa.edu> and
CONTRIBUTED: direct I/O parameter changes from
	Andrew Morton  <akpm@digeo.com>
Remainder from Christoph.
use new workqueue infrastructure

Revision 1.66 / (download) - annotate - [select for diffs], Mon Oct 7 19:33:43 2002 UTC (15 years ago) by sandeen
Branch: MAIN
Changes since 1.65: +1 -11 lines
Diff to previous 1.65 (colored)

Remove unused pagebuf flags
Merge of 2.4.x-xfs:slinx:129235a by sandeen.

  Remove unused pagebuf flags
  Remove code that only checks those flags

Revision 1.65 / (download) - annotate - [select for diffs], Fri Oct 4 22:12:47 2002 UTC (15 years ago) by sandeen
Branch: MAIN
Changes since 1.64: +5 -4 lines
Diff to previous 1.64 (colored)

Fix sysctl values, add PB_CLEAR_OWNER debugging line
Merge of 2.4.x-xfs:slinx:129132a by sandeen.

  Fix sysctl values, add PB_CLEAR_OWNER debugging line

Revision 1.64 / (download) - annotate - [select for diffs], Fri Oct 4 19:35:07 2002 UTC (15 years ago) by lord
Branch: MAIN
Changes since 1.63: +3 -3 lines
Diff to previous 1.63 (colored)

fix 2.5 specific code for small block size filesystems, there was a
case where a page sized block filesystem went down to the small
blocksize code path.
if the lookup_pages path, do not descend into using page->private
for a bitmask for the page sized filesystem blocksize case.

Revision 1.63 / (download) - annotate - [select for diffs], Wed Oct 2 15:38:11 2002 UTC (15 years ago) by lord
Branch: MAIN
Changes since 1.62: +4 -99 lines
Diff to previous 1.62 (colored)

fall back to schedule_task from the per cpu io completion threads,
this should be temporary.
remove pagebuf io completion threads

Revision 1.62 / (download) - annotate - [select for diffs], Fri Sep 20 20:24:47 2002 UTC (15 years ago) by lord
Branch: MAIN
Changes since 1.61: +10 -9 lines
Diff to previous 1.61 (colored)

Part of 2.5.37 merge, Code from Jens Axboe to update pagebuf
with new bio infrastructure. axboe@suse.de
Start using bio_add_page(), added by Jens Axboe

Revision 1.61 / (download) - annotate - [select for diffs], Thu Sep 19 21:05:01 2002 UTC (15 years, 1 month ago) by hch
Branch: MAIN
Changes since 1.60: +7 -5 lines
Diff to previous 1.60 (colored)

Make pagebuf use the generic xfs ASSERT() instead of it's own assert()
Merge of 2.4.x-xfs:slinx:127736a by hch.

  Make pagebuf use the generic xfs ASSERT() instead of it's own assert()

Revision 1.60 / (download) - annotate - [select for diffs], Wed Sep 18 14:22:46 2002 UTC (15 years, 1 month ago) by hch
Branch: MAIN
Changes since 1.59: +0 -1 lines
Diff to previous 1.59 (colored)

Merge of 2.4.x-xfs:slinx:127734a by hch.

  Don't include <asm/softirq.h>

Revision 1.59 / (download) - annotate - [select for diffs], Fri Sep 13 14:05:57 2002 UTC (15 years, 1 month ago) by hch
Branch: MAIN
Changes since 1.58: +2 -2 lines
Diff to previous 1.58 (colored)

Merge of 2.4.x-xfs:slinx:127349a by hch.

  Return -ENOMEM on vmap failure in _pagebuf_lookup_pages

Revision 1.58 / (download) - annotate - [select for diffs], Fri Sep 13 13:24:23 2002 UTC (15 years, 1 month ago) by hch
Branch: MAIN
Changes since 1.57: +4 -6 lines
Diff to previous 1.57 (colored)

Merge of 2.4.x-xfs:slinx:127345a by hch.

  Fix up comments:  Pagebuf is only used for metadata nowdays

Revision 1.57 / (download) - annotate - [select for diffs], Wed Aug 28 22:10:43 2002 UTC (15 years, 1 month ago) by sandeen
Branch: MAIN
Changes since 1.56: +0 -5 lines
Diff to previous 1.56 (colored)

remove unused pagebuf macros
Merge of 2.4.x-xfs:slinx:126301a by sandeen.

Revision 1.56 / (download) - annotate - [select for diffs], Tue Aug 27 22:32:18 2002 UTC (15 years, 1 month ago) by lord
Branch: MAIN
Changes since 1.55: +2 -3 lines
Diff to previous 1.55 (colored)

merge up to 2.5.32

Revision 1.55 / (download) - annotate - [select for diffs], Thu Aug 22 21:43:46 2002 UTC (15 years, 1 month ago) by sandeen
Branch: MAIN
Changes since 1.54: +2 -3 lines
Diff to previous 1.54 (colored)

Merge of 2.4.x-xfs:slinx:125665a by lord.

  Remove unused argument from pagebuf_segment

Revision 1.54 / (download) - annotate - [select for diffs], Fri Aug 16 06:53:04 2002 UTC (15 years, 2 months ago) by nathans
Branch: MAIN
Changes since 1.53: +301 -280 lines
Diff to previous 1.53 (colored)

Merge of 2.4.x-xfs:slinx:125243a by nathans.

  Cleanup: remove unneeded #include of xfs_types.h, consistent formatting of
  function args & variable declarations, fix incorrect &/ misspelt comments,
  consistent use of STATIC throughout.

Revision 1.53 / (download) - annotate - [select for diffs], Fri Aug 16 03:27:22 2002 UTC (15 years, 2 months ago) by nathans
Branch: MAIN
Changes since 1.52: +3 -3 lines
Diff to previous 1.52 (colored)

Merge of 2.4.x-xfs:slinx:125235a by nathans.

  Split IO requests which are too large for a single buffer_head (b_size is
  an unsigned short).  This gets XFS working on systems with a 64K pagesize.

Revision 1.52 / (download) - annotate - [select for diffs], Thu Aug 15 19:11:59 2002 UTC (15 years, 2 months ago) by sandeen
Branch: MAIN
Changes since 1.51: +0 -0 lines
Diff to previous 1.51 (colored)

Merge of 2.4.x-xfs:slinx:125189a by lord.

  Add a PBR_SECTOR_ONLY case to the pbr_flags switch in
  _pagebuf_page_io to make things a bit more obvious

Revision 1.51 / (download) - annotate - [select for diffs], Thu Aug 15 15:40:09 2002 UTC (15 years, 2 months ago) by lord
Branch: MAIN
Changes since 1.50: +13 -33 lines
Diff to previous 1.50 (colored)

switch pagebuf over to find_or_create_page
Merge of 2.4.x-xfs:slinx:124705a by lord.

Revision 1.50 / (download) - annotate - [select for diffs], Thu Aug 15 15:31:05 2002 UTC (15 years, 2 months ago) by lord
Branch: MAIN
Changes since 1.49: +37 -26 lines
Diff to previous 1.49 (colored)

change xfs readahead implementation
Merge of 2.4.x-xfs:slinx:124636a by lord.

Revision 1.49 / (download) - annotate - [select for diffs], Fri Aug 2 20:23:50 2002 UTC (15 years, 2 months ago) by sandeen
Branch: MAIN
Changes since 1.48: +2 -1 lines
Diff to previous 1.48 (colored)

Merge of 2.4.x-xfs:slinx:124228a by sandeen.

  Check VMALLOC_END as well as VMALLOC_START when testing
  for vmalloc'd memory.

Revision 1.48 / (download) - annotate - [select for diffs], Fri Aug 2 19:36:04 2002 UTC (15 years, 2 months ago) by lord
Branch: MAIN
Changes since 1.47: +219 -65 lines
Diff to previous 1.47 (colored)

pagebuf rationalization
Merge of 2.4.x-xfs:slinx:124205a by lord.

Revision 1.47 / (download) - annotate - [select for diffs], Tue Jul 30 21:04:55 2002 UTC (15 years, 2 months ago) by lord
Branch: MAIN
Changes since 1.46: +2 -2 lines
Diff to previous 1.46 (colored)

merge up to 2.5.29

Revision 1.46 / (download) - annotate - [select for diffs], Mon Jul 29 21:52:55 2002 UTC (15 years, 2 months ago) by sandeen
Branch: MAIN
Changes since 1.45: +4 -4 lines
Diff to previous 1.45 (colored)

Merge of 2.4.x-xfs:slinx:123706a by sandeen.

  Use correct value for maxlen in sysctl (var is ulong, not int)
  This happened to work on 32 bit machines; broke in ia64.

Revision 1.45 / (download) - annotate - [select for diffs], Mon Jul 29 21:43:06 2002 UTC (15 years, 2 months ago) by sandeen
Branch: MAIN
Changes since 1.44: +12 -2 lines
Diff to previous 1.44 (colored)

Merge of 2.4.x-xfs:slinx:123793a by sandeen.

  Add mem_to_page() so we can get pages from vmalloc'd memory as well
  change virt_to_page to use mem_to_page

Revision 1.44 / (download) - annotate - [select for diffs], Thu Jul 25 19:57:09 2002 UTC (15 years, 2 months ago) by sandeen
Branch: MAIN
Changes since 1.43: +1 -1 lines
Diff to previous 1.43 (colored)

remove two useless pagebuf macros
Merge of 2.4.x-xfs:slinx:123578a by sandeen.

Revision 1.43 / (download) - annotate - [select for diffs], Thu Jul 18 23:03:01 2002 UTC (15 years, 3 months ago) by sandeen
Branch: MAIN
Changes since 1.42: +0 -0 lines
Diff to previous 1.42 (colored)

Merge of 2.4.x-xfs:slinx:123242a originally by lord on 07/18/02
  do not use mem_map_t

Revision 1.42 / (download) - annotate - [select for diffs], Thu Jul 18 18:20:28 2002 UTC (15 years, 3 months ago) by lord
Branch: MAIN
Changes since 1.41: +2 -2 lines
Diff to previous 1.41 (colored)

Merge of 2.4.x-xfs:slinx:123243a originally by lord on 07/18/02
  remove support/types.h

Revision 1.41 / (download) - annotate - [select for diffs], Wed Jul 17 15:19:41 2002 UTC (15 years, 3 months ago) by lord
Branch: MAIN
Changes since 1.40: +10 -9 lines
Diff to previous 1.40 (colored)

Merge of 2.4.x-xfs:slinx:123144a by lord.

  fix unlock without lock bug in pagebuf, causes a BUG macro to trip
  also remove need for xfs_fs.h

Revision 1.40 / (download) - annotate - [select for diffs], Mon Jul 15 15:51:46 2002 UTC (15 years, 3 months ago) by lord
Branch: MAIN
Changes since 1.39: +1 -1 lines
Diff to previous 1.39 (colored)

Merge of 2.4.x-xfs:slinx:122963a originally by lord on 07/12/02
  move xfs_fs.h

Revision 1.39 / (download) - annotate - [select for diffs], Mon Jul 15 15:12:47 2002 UTC (15 years, 3 months ago) by lord
Branch: MAIN
Changes since 1.38: +5 -17 lines
Diff to previous 1.38 (colored)

Merge of 2.4.x-xfs:slinx:122857a by lord.

  More cleanup of page locking during read, also rationalize the
  code in the I/O path which understands the layour restrictions
  of specific device types.

Revision 1.38 / (download) - annotate - [select for diffs], Mon Jul 15 12:05:41 2002 UTC (15 years, 3 months ago) by lord
Branch: MAIN
Changes since 1.37: +0 -0 lines
Diff to previous 1.37 (colored)

use unlock_page instead of UnlockPage
Merge of 2.4.x-xfs:slinx:122767a by lord.

Revision 1.37 / (download) - annotate - [select for diffs], Wed Jul 10 20:44:06 2002 UTC (15 years, 3 months ago) by sandeen
Branch: MAIN
Changes since 1.36: +116 -116 lines
Diff to previous 1.36 (colored)

whitespace cleanup
Merge of 2.4.x-xfs:slinx:122792a by sandeen.

Revision 1.36 / (download) - annotate - [select for diffs], Tue Jul 9 20:02:50 2002 UTC (15 years, 3 months ago) by lord
Branch: MAIN
Changes since 1.35: +21 -31 lines
Diff to previous 1.35 (colored)

Merge of 2.4.x-xfs:slinx:122679a by lord.

  leave pages locked when reading it in.

Revision 1.35 / (download) - annotate - [select for diffs], Wed Jun 19 15:34:53 2002 UTC (15 years, 4 months ago) by lord
Branch: MAIN
Changes since 1.34: +14 -10 lines
Diff to previous 1.34 (colored)

merge up to 2.5.23

Revision 1.34 / (download) - annotate - [select for diffs], Tue Jun 18 16:23:04 2002 UTC (15 years, 4 months ago) by lord
Branch: MAIN
Changes since 1.33: +3 -18 lines
Diff to previous 1.33 (colored)

Merge of 2.4.x-xfs:slinx:121850a by lord.

  remove the REMAPPING_SUPPORT #ifdefs, we need this code

Revision 1.33 / (download) - annotate - [select for diffs], Tue Jun 11 12:29:48 2002 UTC (15 years, 4 months ago) by lord
Branch: MAIN
Changes since 1.32: +0 -7 lines
Diff to previous 1.32 (colored)

small cleanups
Merge of 2.4.x-xfs:slinx:121176a by lord.

Revision 1.32 / (download) - annotate - [select for diffs], Mon Jun 10 18:33:01 2002 UTC (15 years, 4 months ago) by lord
Branch: MAIN
Changes since 1.31: +17 -12 lines
Diff to previous 1.31 (colored)

Merge of 2.4.x-xfs:slinx:121146a by lord.

  less use of magic numbers for block sizes

Revision 1.31 / (download) - annotate - [select for diffs], Tue Jun 4 18:56:57 2002 UTC (15 years, 4 months ago) by sandeen
Branch: MAIN
Changes since 1.30: +1 -1 lines
Diff to previous 1.30 (colored)

Update copyright dates
Merge of 2.4.x-xfs:slinx:120763a by sandeen.

Revision 1.30 / (download) - annotate - [select for diffs], Fri May 31 22:19:43 2002 UTC (15 years, 4 months ago) by lord
Branch: MAIN
Changes since 1.29: +8 -10 lines
Diff to previous 1.29 (colored)

merge up to 2.5.19

Revision 1.29 / (download) - annotate - [select for diffs], Fri May 31 05:59:18 2002 UTC (15 years, 4 months ago) by nathans
Branch: MAIN
Changes since 1.28: +56 -16 lines
Diff to previous 1.28 (colored)

metadata support for filesystems with blocksizes smaller than the pagesize. 

Revision 1.28 / (download) - annotate - [select for diffs], Fri May 31 03:38:18 2002 UTC (15 years, 4 months ago) by nathans
Branch: MAIN
Changes since 1.27: +1 -3 lines
Diff to previous 1.27 (colored)

minor change to keep files the same between 2.4 and 2.5.

Revision 1.27 / (download) - annotate - [select for diffs], Thu May 30 21:03:51 2002 UTC (15 years, 4 months ago) by lord
Branch: MAIN
Changes since 1.26: +7 -0 lines
Diff to previous 1.26 (colored)

fix xfsidbg as a module again
Merge of 2.4.x-xfs:slinx:120489a by lord.

Revision 1.26 / (download) - annotate - [select for diffs], Thu May 30 11:13:38 2002 UTC (15 years, 4 months ago) by lord
Branch: MAIN
Changes since 1.25: +0 -8 lines
Diff to previous 1.25 (colored)

Merge of 2.4.x-xfs:slinx:120439a by lord.

  No need for a locking terminate call anymore

Revision 1.25 / (download) - annotate - [select for diffs], Fri May 24 15:52:49 2002 UTC (15 years, 4 months ago) by lord
Branch: MAIN
Changes since 1.24: +0 -1 lines
Diff to previous 1.24 (colored)

Merge of 2.4.x-xfs:slinx:120152a originally by lord on 05/24/02
  Add support for drive write cache flushing - should the kernel         
  have the infrastructure

Revision 1.24 / (download) - annotate - [select for diffs], Thu May 23 19:47:40 2002 UTC (15 years, 4 months ago) by lord
Branch: MAIN
Changes since 1.23: +128 -41 lines
Diff to previous 1.23 (colored)

Merge of 2.4.x-xfs:slinx:120060a by lord.

  We no longer need to use the irq versions of spinlocks in pagebuf,
  also add an io completion daemon.

Revision 1.23 / (download) - annotate - [select for diffs], Wed May 22 21:04:36 2002 UTC (15 years, 4 months ago) by sandeen
Branch: MAIN
Changes since 1.22: +31 -7 lines
Diff to previous 1.22 (colored)

Merge of 2.4.x-xfs:slinx:119918a by sandeen.

  Add proc entry & handler for clearing pagebuf stats
  Minor reformatting

Revision 1.22 / (download) - annotate - [select for diffs], Wed May 22 15:26:34 2002 UTC (15 years, 4 months ago) by lord
Branch: MAIN
Changes since 1.21: +4 -10 lines
Diff to previous 1.21 (colored)

merge up to 2.5.17

Revision 1.21 / (download) - annotate - [select for diffs], Tue May 21 20:24:04 2002 UTC (15 years, 4 months ago) by lord
Branch: MAIN
Changes since 1.20: +1 -1 lines
Diff to previous 1.20 (colored)

*** empty log message ***

Revision 1.20 / (download) - annotate - [select for diffs], Tue May 21 19:57:45 2002 UTC (15 years, 4 months ago) by lord
Branch: MAIN
Changes since 1.19: +34 -27 lines
Diff to previous 1.19 (colored)

Merge of 2.4.x-xfs:slinx:117627a originally by nathans on 04/27/02
  initial attempt at supporting multiple block sizes on the metadata path.
  lots of new code which is only executed for non-pagesized filesystems, so
  should be no change for pagesize case.  had to move a few chunks of code
  around to allow some bit sharing, but shouldn't be any ill side-effects.

Merge of 2.4.x-xfs:slinx:117662a originally by nathans on 04/28/02
  move the block number calculation outside the loop for >pgize blocksizes;
  also fix up locking of buffer_heads in here.

Merge of 2.4.x-xfs:slinx:117771a originally by nathans on 04/29/02
  tidy up some of the new multiple blocksize code paths, fix an inconsistent
  block number calculation along the way causing occasional log corruption.

Merge of 2.4.x-xfs:slinx:119308a originally by lord on 05/16/02
  Fixes for metadata ops on blocksize less than a pagesize.

Merge of 2.4.x-xfs:slinx:119541a originally by lord on 05/20/02
  Use lock_page instead of a homebrew alternative

Revision 1.19 / (download) - annotate - [select for diffs], Tue May 21 05:28:46 2002 UTC (15 years, 5 months ago) by nathans
Branch: MAIN
Changes since 1.18: +4 -1 lines
Diff to previous 1.18 (colored)

Merge of 2.4.x-xfs:slinx:119674a by nathans.

  changes to fold xfs_support code back into XFS (the other sgi projects
  using this will be / have been fixed).  reduces our footprint on the
  base kernel.  NB: xfs_support.o as a distinct module no longer exists.

Revision 1.18 / (download) - annotate - [select for diffs], Tue Apr 30 15:16:48 2002 UTC (15 years, 5 months ago) by lord
Branch: MAIN
Changes since 1.17: +2 -3 lines
Diff to previous 1.17 (colored)

merge up to 2.5.11

Revision 1.17 / (download) - annotate - [select for diffs], Fri Apr 19 08:45:09 2002 UTC (15 years, 6 months ago) by lord
Branch: MAIN
Changes since 1.16: +3 -4 lines
Diff to previous 1.16 (colored)

merge up to 2.5.8

Revision 1.16 / (download) - annotate - [select for diffs], Thu Apr 4 03:49:09 2002 UTC (15 years, 6 months ago) by nathans
Branch: MAIN
Changes since 1.15: +1 -1 lines
Diff to previous 1.15 (colored)

Merge of 2.4.x-xfs:slinx:115648a by nathans.

  fix a compiler warning with tracing enabled.

Revision 1.15 / (download) - annotate - [select for diffs], Thu Mar 28 23:27:18 2002 UTC (15 years, 6 months ago) by lord
Branch: MAIN
Changes since 1.14: +134 -303 lines
Diff to previous 1.14 (colored)

Merge of 2.4.x-xfs:slinx:115116a by lord.

  simplify locking of pagebufs

Revision 1.14 / (download) - annotate - [select for diffs], Mon Mar 25 04:35:42 2002 UTC (15 years, 6 months ago) by nathans
Branch: MAIN
Changes since 1.13: +20 -15 lines
Diff to previous 1.13 (colored)

Merge of 2.4.x-xfs:slinx:114782a by nathans.

  Prepare pagebuf APIs for multiple blocksize support.  In particular,
  the IO path needs to get access to blocksize information which currently
  is only held in the xfs_mount structure -- this change reorganises a few
  things so that the necessary information is available to the code that
  needs it.  We also no longer need pbm_dev field (pb_bmap_t) as this is
  now available from pb_target_t always.

Revision 1.13 / (download) - annotate - [select for diffs], Wed Mar 6 20:00:28 2002 UTC (15 years, 7 months ago) by lord
Branch: MAIN
Changes since 1.12: +1 -7 lines
Diff to previous 1.12 (colored)

Merge of 2.4.x-xfs:slinx:113413a by lord.

  remove pagebuf_wait_unpin no one uses it 

Revision 1.12 / (download) - annotate - [select for diffs], Wed Mar 6 12:55:23 2002 UTC (15 years, 7 months ago) by lord
Branch: MAIN
Changes since 1.11: +1 -1 lines
Diff to previous 1.11 (colored)

Merge of 2.4.x-xfs:slinx:113384a by lord.

  No longer treat the super block specially in the delayed write queue

Revision 1.11 / (download) - annotate - [select for diffs], Tue Mar 5 09:56:40 2002 UTC (15 years, 7 months ago) by lord
Branch: MAIN
Changes since 1.10: +7 -1 lines
Diff to previous 1.10 (colored)

Merge of 2.4.x-xfs:slinx:113212a originally by lord on 03/04/02
  make xfs metadata references bring pages forward in the cache, fix an
  assert, and count the number of metadata reads we do.

Merge of 2.4.x-xfs:slinx:113292a originally by fsgqa on 03/04/02
  Fix a typo in an assert.

Revision 1.10 / (download) - annotate - [select for diffs], Wed Feb 27 21:29:47 2002 UTC (15 years, 7 months ago) by lord
Branch: MAIN
Changes since 1.9: +5 -2 lines
Diff to previous 1.9 (colored)

Merge of 2.4.x-xfs:slinx:112914a by lord.

  Expand pagebuf_rele for the PBF_FS_MANAGED flag - the filesystem does not
  want this buffer to get freed.

Revision 1.9 / (download) - annotate - [select for diffs], Wed Feb 20 21:17:26 2002 UTC (15 years, 7 months ago) by lord
Branch: MAIN
Changes since 1.8: +1 -2 lines
Diff to previous 1.8 (colored)

merge up to 2.5.5

Revision 1.8 / (download) - annotate - [select for diffs], Wed Feb 20 21:05:28 2002 UTC (15 years, 7 months ago) by lord
Branch: MAIN
Changes since 1.7: +6 -3 lines
Diff to previous 1.7 (colored)

Merge of 2.4.x-xfs:slinx:112208a by lord.

  fix the code to deal with freeing a non-locking pagebuf correctly in
  all cases.

Revision 1.7 / (download) - annotate - [select for diffs], Wed Feb 20 03:12:35 2002 UTC (15 years, 7 months ago) by lord
Branch: MAIN
Changes since 1.6: +0 -2 lines
Diff to previous 1.6 (colored)

Merge of 2.4.x-xfs:slinx:112081a originally by lord on 02/19/02
  Remove the rele call from pagebuf_iostart, the only caller who could
  get into this was direct I/O which does its own rele.

Revision 1.6 / (download) - annotate - [select for diffs], Thu Feb 14 23:10:05 2002 UTC (15 years, 8 months ago) by lord
Branch: MAIN
Changes since 1.5: +2 -2 lines
Diff to previous 1.5 (colored)

merge up to 2.5.5-pre1

Revision 1.5 / (download) - annotate - [select for diffs], Mon Feb 11 18:49:09 2002 UTC (15 years, 8 months ago) by lord
Branch: MAIN
Changes since 1.4: +1 -0 lines
Diff to previous 1.4 (colored)

Merge of 2.4.x-xfs:slinx:111500a by lord.

  fix pagebuf tracing

Revision 1.4 / (download) - annotate - [select for diffs], Fri Jan 25 22:56:50 2002 UTC (15 years, 8 months ago) by lord
Branch: MAIN
Changes since 1.3: +5 -3 lines
Diff to previous 1.3 (colored)

Fix module build of xfs

Revision 1.3 / (download) - annotate - [select for diffs], Wed Jan 16 09:58:10 2002 UTC (15 years, 9 months ago) by nathans
Branch: MAIN
Changes since 1.2: +13 -12 lines
Diff to previous 1.2 (colored)

Merge of 2.4.x-xfs:slinx:109677a by nathans.

  fix for multiple blocksize support only, noop for normal case of bsize
  == page size.  allows directory blocks to successfully be vmalloc'd if
  they span multiple pages and are not page-aligned.

Revision 1.2 / (download) - annotate - [select for diffs], Mon Jan 14 23:50:15 2002 UTC (15 years, 9 months ago) by nathans
Branch: MAIN
Changes since 1.1: +1 -1 lines
Diff to previous 1.1 (colored)

Merge of 2.4.x-xfs:slinx:109560a by nathans.

  renamed linux/include/linux/avl.h => linux/fs/xfs/pagebuf/avl.h.

Revision 1.1 / (download) - annotate - [select for diffs], Sun Jan 13 13:14:04 2002 UTC (15 years, 9 months ago) by lord
Branch: MAIN

Merge pagebuf module into XFS
Merge of 2.4.x-xfs:slinx:109482a by lord.

  linux/fs/pagebuf/page_buf.c 1.106 Renamed to linux/fs/xfs/pagebuf/page_buf.c

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>