CVS log for xfs-linux/linux-2.6/xfs_aops.c

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

Request diff between arbitrary revisions


Default branch: MAIN
Current tag: MAIN


Revision 1.166 / (download) - annotate - [select for diffs], Tue Oct 14 14:51:37 2008 UTC (9 years ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
CVS Tags: HEAD
Changes since 1.165: +1 -1 lines
Diff to previous 1.165 (colored)

Never call mark_inode_dirty_sync() directly

Once the Linux inode and the XFS inode are combined, we cannot rely
on just check if the linux inode exists as a method of determining
if it is valid or not. Hence we should always call
xfs_mark_inode_dirty_sync() instead as it does the correct checks to
determine if the liinux inode is in a valid state or not.

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

  Never call mark_inode_dirty_sync() directly

Revision 1.165 / (download) - annotate - [select for diffs], Fri Oct 3 04:30:43 2008 UTC (9 years ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.164: +2 -2 lines
Diff to previous 1.164 (colored)

Merge up to 2.6.27-rc8
Merge of xfs-linux-melb:xfs-kern:32254a by kenmcd.

Revision 1.164 / (download) - annotate - [select for diffs], Wed Aug 20 16:04:28 2008 UTC (9 years, 2 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.163: +4 -0 lines
Diff to previous 1.163 (colored)

Prevent direct I/O from mapping extents beyond eof

With the help from some tracing I found that we try to map extents beyond
eof when doing a direct I/O read.  It appears that the way to inform the
generic direct I/O path (ie do_direct_IO()) that we have breached eof is
to return an unmapped buffer from xfs_get_blocks_direct().  This will cause
do_direct_IO() to jump to the hole handling code where is will check for
eof and then abort.

This problem was found because a direct I/O read was trying to map beyond
eof and was encountering delayed allocations.  The delayed allocations beyond
eof are speculative allocations and they didn't get converted when the direct
I/O flushed the file because there was only enough space in the current AG
to convert and write out the dirty pages within eof.  Note that
xfs_iomap_write_allocate() wont necessarily convert all the delayed allocation
passed to it - it will return after allocating the first extent - so if the
delayed allocation extends beyond eof then it will stay that way.
Merge of xfs-linux-melb:xfs-kern:31929a by kenmcd.

  Prevent direct I/O from mapping extents beyond eof

Revision 1.163 / (download) - annotate - [select for diffs], Wed Jul 23 16:35:05 2008 UTC (9 years, 3 months ago) by xaiki.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.162: +1 -2 lines
Diff to previous 1.162 (colored)

XFS: Kill xfs_vtoi()

xfs_vtoi() is redundant and only unsed in small sections
of code. Replace them with widely used XFS_I() inline and
kill xfs_vtoi().

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

Revision 1.162 / (download) - annotate - [select for diffs], Fri May 9 04:30:53 2008 UTC (9 years, 5 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.161: +2 -3 lines
Diff to previous 1.161 (colored)

Remove unused wbc parameter from xfs_start_page_writeback()

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

  Remove unused wbc parameter from xfs_start_page_writeback

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

Catch unwritten extent conversion errors.

On unwritten I/O completion, we fail to propagate an error
when converting the extent to a written extent. This means that
the I/O silently fails. propagate the error onto the ioend so that
the inode is marked with an error appropriately.
Merge of xfs-linux-melb:xfs-kern:30826a by kenmcd.

  Catch unwritten extent conversion errors.

Revision 1.160 / (download) - annotate - [select for diffs], Fri Feb 22 03:09:12 2008 UTC (9 years, 8 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.159: +2 -2 lines
Diff to previous 1.159 (colored)

kill xfs_rwlock/xfs_rwunlock

We can just use xfs_ilock/xfs_iunlock instead and get rid of the ugly
bhv_vrwlock_t.


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

  kill xfs_rwlock/xfs_rwunlock

Revision 1.159 / (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.158: +16 -17 lines
Diff to previous 1.158 (colored)

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

Revision 1.158 / (download) - annotate - [select for diffs], Mon Nov 5 15:04:07 2007 UTC (9 years, 11 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.157: +1 -1 lines
Diff to previous 1.157 (colored)

optimize XFS_IS_REALTIME_INODE w/o realtime config

Use XFS_IS_REALTIME_INODE in more places, and #define it to
0 if CONFIG_XFS_RT is off.  This should be safe because mount
checks in xfs_rtmount_init:

# define xfs_rtmount_init(m)    (((mp)->m_sb.sb_rblocks == 0)? 0 : (ENOSYS))

so if we get mounted w/o CONFIG_XFS_RT, no realtime inodes should
be encountered after that.

Defining XFS_IS_REALTIME_INODE to 0 saves a bit of stack space,
presumeably gcc can optimize around the various "if (0)" type
checks:

xfs_alloc_file_space    -8
xfs_bmap_adjacent       -16
xfs_bmapi               -8
xfs_bmap_rtalloc        -16
xfs_bunmapi             -28
xfs_free_file_space     -64
xfs_imap                +8  <-- ?  hmm.
xfs_iomap_write_direct  -12
xfs_qm_dqusage_adjust   -4
xfs_qm_vop_chown_reserve -4

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

  Use XFS_IS_REALTIME_INODE() rather than open coding the check.

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

kill xfs_iocore_t

xfs_iocore_t is a structure embedded in xfs_inode.  Except for one
field it just duplicates fields already in xfs_inode, and there is
nothing this abstraction buys us on XFS/Linux.  This patch removes
it and shrinks source and binary size of xfs aswell as shrinking
the size of xfs_inode by 60/44 bytes in debug/non-debug builds.


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

  kill xfs_iocore_t

Revision 1.156 / (download) - annotate - [select for diffs], Fri Sep 21 04:08:28 2007 UTC (10 years, 1 month ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.155: +2 -2 lines
Diff to previous 1.155 (colored)

kill unnessecary ioops indirection

Currently there is an indirection called ioops in the XFS data I/O
path.  Various functions are called by functions pointers, but there
is no coherence in what this is for, and of course for XFS itself
it's entirely unused.  This patch removes it instead and significantly
reduces source and binary size of XFS while making maintaince easier.
Merge of xfs-linux-melb:xfs-kern:29737a by kenmcd.

  kill unnessecary ioops indirection

Revision 1.155 / (download) - annotate - [select for diffs], Thu Sep 13 06:11:17 2007 UTC (10 years, 1 month ago) by donaldd.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.154: +3 -2 lines
Diff to previous 1.154 (colored)

kill BMAPI_UNWRITTEN

There is no reason to go through xfs_iomap for the BMAPI_UNWRITTEN
because it has nothing in common with the other cases.  Instead
check for the shutdown filesystem in xfs_end_bio_unwritten and perform
a direct call to xfs_iomap_write_unwritten (which should be renamed
to something more sensible one day)


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

  kill BMAPI_UNWRITTEN

Revision 1.154 / (download) - annotate - [select for diffs], Thu Sep 13 06:10:29 2007 UTC (10 years, 1 month ago) by donaldd.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.153: +16 -11 lines
Diff to previous 1.153 (colored)

kill BMAPI_DEVICE

There is no reason to go into the iomap machinery just to get the
right block device for an inode.  Instead look at the realtime flag
in the inode and grab the right device from the mount structure.

I created a new helper, xfs_find_bdev_for_inode instead of opencoding
it because I plan to use it in other places in the future.


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

  kill BMAPI_DEVICE

Revision 1.153 / (download) - annotate - [select for diffs], Thu Sep 13 04:08:08 2007 UTC (10 years, 1 month ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.152: +1 -0 lines
Diff to previous 1.152 (colored)

Ensure file size updates have been completed before writing inode to disk.
Merge of xfs-linux-melb:xfs-kern:29675a by kenmcd.

  Ensure file size updates have been completed before writing inode to disk.

Revision 1.152 / (download) - annotate - [select for diffs], Tue Sep 11 06:11:49 2007 UTC (10 years, 1 month ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.151: +1 -2 lines
Diff to previous 1.151 (colored)

clean up vnode/inode tracing

Simplify vnode tracing calls by embedding function name & return addr
in the calling macro.

Also do a lot of vnode->inode renaming for consistency, while
we're at it.

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

  clean up vnode/inode tracing

Revision 1.151 / (download) - annotate - [select for diffs], Fri Aug 24 16:08:41 2007 UTC (10 years, 2 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.150: +1 -1 lines
Diff to previous 1.150 (colored)

move v_trace from bhv_vnode to xfs_inode

struct bhv_vnode is on it's way out, so move the trace buffer to the
XFS inode.  Note that this makes the tracing macros rather misnamed,
but this kind of fallout will be fixed up incrementally later on.


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

  move v_trace from bhv_vnode to xfs_inode

Revision 1.150 / (download) - annotate - [select for diffs], Fri Aug 24 16:07:47 2007 UTC (10 years, 2 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.149: +10 -13 lines
Diff to previous 1.149 (colored)

move v_iocount from bhv_vnode to xfs_inode

struct bhv_vnode is on it's way out, so move the I/O count to the XFS inode.


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

  move v_iocount from bhv_vnode to xfs_inode

Revision 1.149 / (download) - annotate - [select for diffs], Fri Aug 24 16:06:08 2007 UTC (10 years, 2 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.148: +4 -7 lines
Diff to previous 1.148 (colored)

kill the v_flag member in struct bhv_vnode

All flags previous handled at the vnode level are not in the xfs_inode
where we already have a flags mechanisms and free bits for flags
previously in the vnode.


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

  move vnode flags to xfs inode.

Revision 1.148 / (download) - annotate - [select for diffs], Fri Aug 24 16:04:16 2007 UTC (10 years, 2 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.147: +14 -11 lines
Diff to previous 1.147 (colored)

call common xfs vnode-level helpers directly and remove vnode operations

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

  remove vnode operations.

Revision 1.147 / (download) - annotate - [select for diffs], Thu Aug 2 15:59:05 2007 UTC (10 years, 2 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.146: +4 -4 lines
Diff to previous 1.146 (colored)

fix sparse shadowed variable warnings

 - in xfs_probe_cluster rename the inner len to pg_len.  There's no harm
   here because the outer len isn't used after the inner len comes into
   existance but it keeps the code clean.
 - in xfs_da_do_buf remove the inner i because they don't overlap
   and they are both the same type.

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

  Fix shadowed var in xfs_probe_cluster.

Revision 1.146 / (download) - annotate - [select for diffs], Tue Jun 5 15:41:37 2007 UTC (10 years, 4 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.145: +12 -1 lines
Diff to previous 1.145 (colored)

Map unwritten extents correctly for I/o completion processing

If we have multiple unwritten extents within a single page, we fail
to tell the I/o completion construction handlers we need a new handle
for the second and subsequent blocks in teh page. While we still issue
the I/O correctly, we do not have the correct ranges recorded in the
ioend structures and hence when we go to convert the unwritten extents
we screw it up.

Make sure we start a new ioend every time the mapping changes
so that we convert the correct ranges on I/O completion.
Merge of xfs-linux-melb:xfs-kern:28797a by kenmcd.

  If the mapping changes between blocks in xfs_page_state_convert, make
  sure that we also start a new ioend for the new mapping.

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

Handle null returned from xfs_vtoi() in xfs_setfilesize().
Merge of xfs-linux-melb:xfs-kern:28777a by kenmcd.

  If we get a null xfs_inode in xfs_setfilesize(), we can't update
  the file size. Don't even bother trying.

Revision 1.144 / (download) - annotate - [select for diffs], Mon Jun 4 15:40:45 2007 UTC (10 years, 4 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.143: +20 -8 lines
Diff to previous 1.143 (colored)

Block on unwritten extent conversion during synchronous direct I/O.

Currently we do not wait on extent conversion to occur, and hence we
can return to userspace from a sycnhronous direct I/O write without
having completed all teh actions in the write. Hence a read after
the write may see zeroes (unwritten extent) rather than the data
that was written.

Block the I/O completion by triggering a synchronous workqueue flush
to ensure that the conversion has occurred before we return to
userspace.
Merge of xfs-linux-melb:xfs-kern:28775a by kenmcd.

  Make unwritten extent conversion occur synchronously for synchronous
  direct I/O to ensure it is completed before we return to userspace.

Revision 1.143 / (download) - annotate - [select for diffs], Wed May 23 03:53:56 2007 UTC (10 years, 5 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.142: +17 -9 lines
Diff to previous 1.142 (colored)

Write at EOF may not update filesize correctly.

The recent fix for preventing NULL files from being left around
does not update the file size corectly in all cases. The missing
case is a write extending the file that does not need to allocate
a block.

In that case we used a read mapping of the extent which forced
the use of the read I/O completion handler instead of the
write I/O completion handle. Hence the file size was not updated
on I/O completion.
Merge of xfs-linux-melb:xfs-kern:28657a by kenmcd.

  Ensure we use an I/O completion handler that can update the filesize
  for all types of write regardless of whether we need to do allocation
  or not.

Revision 1.142 / (download) - annotate - [select for diffs], Fri Mar 30 04:04:14 2007 UTC (10 years, 6 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.141: +77 -12 lines
Diff to previous 1.141 (colored)

Fix to prevent the notorious 'NULL files' problem after a crash.

The problem that has been addressed is that of synchronising updates of
the file size with writes that extend a file.  Without the fix the update
of a file's size, as a result of a write beyond eof, is independent of
when the cached data is flushed to disk.  Often the file size update would
be written to the filesystem log before the data is flushed to disk.  When
a system crashes between these two events and the filesystem log is
replayed on mount the file's size will be set but since the contents never
made it to disk the file is full of holes.  If some of the cached data was
flushed to disk then it may just be a section of the file at the end that
has holes.

There are existing fixes to help alleviate this problem, particularly in
the case where a file has been truncated, that force cached data to be
flushed to disk when the file is closed.  If the system crashes while the
file(s) are still open then this flushing will never occur.

The fix that we have implemented is to introduce a second file size, called
the in-memory file size, that represents the current file size as viewed by
the user.  The existing file size, called the on-disk file size, is the one
that get's written to the filesystem log and we only update it when it is
safe to do so.  When we write to a file beyond eof we only update the in-
memory file size in the write operation.  Later when the I/O operation, that
flushes the cached data to disk completes, an I/O completion routine will
update the on-disk file size.  The on-disk file size will be updated to the
maximum offset of the I/O or to the value of the in-memory file size if the
I/O includes eof.
Merge of xfs-linux-melb:xfs-kern:28322a by kenmcd.

  Fix to prevent the notorious 'NULL files' problem after a crash.

Revision 1.141 / (download) - annotate - [select for diffs], Tue Mar 20 05:07:28 2007 UTC (10 years, 7 months ago) by tes.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.140: +1 -40 lines
Diff to previous 1.140 (colored)

Merge up to 2.6.21-rc4
Merge of xfs-linux-melb:xfs-kern:28276a by kenmcd.

Revision 1.140 / (download) - annotate - [select for diffs], Tue Jan 30 02:57:04 2007 UTC (10 years, 8 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.139: +9 -4 lines
Diff to previous 1.139 (colored)

Fix sub-block zeroing for buffered writes into unwritten extents.

When writing less than a filesystem block of data into an unwritten
extent via buffered I/O, __xfs_get_blocks fails to set the buffer
new flag. As a result, the generic code will not zero either edge
of the block resulting in garbage being written to disk either side
of the real data. Set the buffer new state on bufferd writes to
unwritten extents to ensure that zeroing occurs.
Merge of xfs-linux-melb:xfs-kern:28000a by kenmcd.

  Set the buffer_new state when writing into unwritten extents so that
  sub-block zeroing will occur for buffered writes if necessary.

Revision 1.139 / (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.138: +13 -10 lines
Diff to previous 1.138 (colored)

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

Revision 1.138 / (download) - annotate - [select for diffs], Fri Dec 22 02:55:54 2006 UTC (10 years, 10 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.137: +2 -2 lines
Diff to previous 1.137 (colored)

Fix XFS after clear_page_dirty() removal

XFS appears to call clear_page_dirty to get the mapping tree dirty tag
set correctly at the same time the page dirty flag is cleared.  I note
that this can be done by set_page_writeback() if we clear the dirty flag
on the page first when we are writing back the entire page.

Hence it seems to me that the XFS call to clear_page_dirty() could
easily be substituted by clear_page_dirty_for_io() followed by a call to
set_page_writeback() to get the mapping tree tags set correctly after
the page has been marked clean.
Merge of xfs-linux-melb:xfs-kern:27807a by kenmcd.

  clear_page_dirty() has been removed from the tree, so use
  clear_page_dirty_for_io() instead and call set_page_writeback()
  after modifying the page dirty state to update the mapping tree
  tags correctly for writeback.

Revision 1.137 / (download) - annotate - [select for diffs], Fri Dec 22 02:54:23 2006 UTC (10 years, 10 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.136: +37 -1 lines
Diff to previous 1.136 (colored)

Clear unwritten buffer flag on partial page invalidation

If we have a page with unwritten extents on it, and we do a
partial page truncation, we fail to clear the private unwritten
buffer flag on buffers that are now past EOF. If we then
extend the file into those blocks via a write, we will make
the wrong allocation decision when writing the new data
to disk because of the incorrect unwritten flag on the buffer.

Hence we need to clear the unwritten flag in xfs_vm_invalidatepage
to ensure that the state of the buffers on the page beyond EOF
are in the correct state in case they are reused.
Merge of xfs-linux-melb:xfs-kern:27804a by kenmcd.

  Clear private buffer flags in xfs_vm_invalidatepage to ensure
  buffers are consistent for reuse after a partial page truncation.

Revision 1.136 / (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.135: +1 -1 lines
Diff to previous 1.135 (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.135 / (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.134: +1 -1 lines
Diff to previous 1.134 (colored)

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

Revision 1.134 / (download) - annotate - [select for diffs], Fri Sep 1 06:11:19 2006 UTC (11 years, 1 month ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.133: +13 -5 lines
Diff to previous 1.133 (colored)

Fix ABBA deadlock between i_mutex and iolock.  Avoid calling __blockdev_direct_IO
for the DIO_OWN_LOCKING case for direct I/O reads since it drops and reacquires
the i_mutex while holding the iolock and this violates the locking order.
Merge of xfs-linux-melb:xfs-kern:26898a by kenmcd.

  For direct I/O reads call blockdev_direct_IO_no_locking to avoid deadlock in
  __blockdev_direct_IO.

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

Remove a no-longer-correct debug assert from dio completion handling.
Merge of xfs-linux-melb:xfs-kern:26804a by kenmcd.

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

Fix sparse warning found when page tracing enabled, due to overloaded gfp_t param.
Merge of xfs-linux-melb:xfs-kern:26552a by kenmcd.

Revision 1.131 / (download) - annotate - [select for diffs], Thu Jun 15 03:58:11 2006 UTC (11 years, 4 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.130: +0 -2 lines
Diff to previous 1.130 (colored)

Remove version 1 directory code.  Never functioned on Linux, just pure bloat.
Merge of xfs-linux-melb:xfs-kern:26251a by kenmcd.

Revision 1.130 / (download) - annotate - [select for diffs], Tue May 30 15:56:57 2006 UTC (11 years, 4 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.129: +15 -18 lines
Diff to previous 1.129 (colored)

Resolve a namespace collision on vnode/vnodeops for FreeBSD porters.
Merge of xfs-linux-melb:xfs-kern:26107a by kenmcd.

Revision 1.129 / (download) - annotate - [select for diffs], Tue May 30 15:51:09 2006 UTC (11 years, 4 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.128: +13 -0 lines
Diff to previous 1.128 (colored)

Start writeout earlier (on last close) in the case where we have a truncate down followed by delayed allocation (buffered writes) - worst case scenario for the notorious NULL files problem.  This reduces the window where we are exposed to that problem significantly.
Merge of xfs-linux-melb:xfs-kern:26100a by kenmcd.

Revision 1.128 / (download) - annotate - [select for diffs], Tue May 30 15:50:21 2006 UTC (11 years, 4 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.127: +2 -2 lines
Diff to previous 1.127 (colored)

Make the pflags test/set wrappers more legible for us mere humans.
Merge of xfs-linux-melb:xfs-kern:26099a by kenmcd.

Revision 1.127 / (download) - annotate - [select for diffs], Tue May 30 15:48:50 2006 UTC (11 years, 4 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.126: +7 -8 lines
Diff to previous 1.126 (colored)

Shutdown the filesystem if all device paths have gone.  Made shutdown vop flags consistent with sync vop flags declarations too.
Merge of xfs-linux-melb:xfs-kern:26096a by kenmcd.

Revision 1.126 / (download) - annotate - [select for diffs], Mon May 29 06:15:09 2006 UTC (11 years, 5 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.125: +26 -30 lines
Diff to previous 1.125 (colored)

get_block is replaced by get_blocks in 2.6.17, merge back my mainline update.
Merge of xfs-linux-melb:xfs-kern:26070a by kenmcd.

Revision 1.125 / (download) - annotate - [select for diffs], Mon May 29 06:14:24 2006 UTC (11 years, 5 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.124: +2 -2 lines
Diff to previous 1.124 (colored)

Invalidate page loses its return code in 2.6.17, merge back from mainline.
Merge of xfs-linux-melb:xfs-kern:26069a by kenmcd.

Revision 1.124 / (download) - annotate - [select for diffs], Wed Apr 5 03:52:13 2006 UTC (11 years, 6 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.123: +9 -9 lines
Diff to previous 1.123 (colored)

Fix a writepage regression where we accidentally stopped honouring nonblock mode with the new IO path code (since 2.6.16).
Merge of xfs-linux-melb:xfs-kern:25676a by kenmcd.

Revision 1.123 / (download) - annotate - [select for diffs], Thu Mar 23 02:48:21 2006 UTC (11 years, 7 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.122: +7 -7 lines
Diff to previous 1.122 (colored)

We really suck at spulling.  Thanks to Chris Pascoe for fixing all these typos.
Merge of xfs-linux-melb:xfs-kern:25539a by kenmcd.

Revision 1.122 / (download) - annotate - [select for diffs], Wed Mar 22 02:49:00 2006 UTC (11 years, 7 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.121: +1 -1 lines
Diff to previous 1.121 (colored)

Check that a page has dirty buffers before finding it acceptable for
rewrite clustering. This prevents writing excessive amounts of clean
data when doing random rewrites of a cached file.
Merge of xfs-linux-melb:xfs-kern:25531a by kenmcd.

  Check that a page has dirty buffers before finding it acceptable for
  rewrite clustering.

Revision 1.121 / (download) - annotate - [select for diffs], Mon Mar 20 17:11:22 2006 UTC (11 years, 7 months ago) by yingping
Branch: MAIN
Changes since 1.120: +1 -1 lines
Diff to previous 1.120 (colored)

Fixing KDB's xrwtrc command, also added the current process id into the trace.
Added current process id to xfs_page_trace

Revision 1.120 / (download) - annotate - [select for diffs], Fri Mar 17 14:31:11 2006 UTC (11 years, 7 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.119: +7 -4 lines
Diff to previous 1.119 (colored)

Make couple names consitent, be more defensive on releasepage (and prep for nobh, someday, maybe).
Merge of xfs-linux-melb:xfs-kern:25481a by kenmcd.

Revision 1.119 / (download) - annotate - [select for diffs], Fri Mar 17 14:28:04 2006 UTC (11 years, 7 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.118: +6 -6 lines
Diff to previous 1.118 (colored)

Complete transition away from linvfs naming convention, finally.
Merge of xfs-linux-melb:xfs-kern:25474a by kenmcd.

Revision 1.118 / (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.117: +1 -0 lines
Diff to previous 1.117 (colored)

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

Revision 1.117 / (download) - annotate - [select for diffs], Mon Mar 6 14:19:18 2006 UTC (11 years, 7 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.116: +30 -33 lines
Diff to previous 1.116 (colored)

Switch over from linvfs names for address space ops for consistent naming.
Merge of xfs-linux-melb:xfs-kern:25378a by kenmcd.

Revision 1.116 / (download) - annotate - [select for diffs], Mon Feb 27 05:04:37 2006 UTC (11 years, 8 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.115: +25 -24 lines
Diff to previous 1.115 (colored)

Add xfs_map_buffer helper, use it in a couple of places.

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

Revision 1.115 / (download) - annotate - [select for diffs], Mon Feb 27 05:03:50 2006 UTC (11 years, 8 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.114: +183 -184 lines
Diff to previous 1.114 (colored)

Move some code around to avoid prototypes and prep for future writepages code.

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

Revision 1.114 / (download) - annotate - [select for diffs], Mon Feb 27 03:43:32 2006 UTC (11 years, 8 months ago) by sandeen
Branch: MAIN
Changes since 1.113: +1 -1 lines
Diff to previous 1.113 (colored)

Don't map non-uptodate buffers in xfs_probe_cluster; also fixes obscure corruption case
Don't map non-uptodate buffers in xfs_probe_cluster; also fixes obscure corruption case

Revision 1.113 / (download) - annotate - [select for diffs], Tue Feb 7 05:02:19 2006 UTC (11 years, 8 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.112: +2 -1 lines
Diff to previous 1.112 (colored)

Account for the page we just wrote when we detect congestion during
the clustering of extra pages in a buffered write.
Merge of xfs-linux-melb:xfs-kern:25130a by kenmcd.

  Account for page written when we detect congestion during clustering.

Revision 1.112 / (download) - annotate - [select for diffs], Tue Jan 17 05:02:56 2006 UTC (11 years, 9 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.111: +26 -3 lines
Diff to previous 1.111 (colored)

Fix a race in xfs_submit_ioend() where we can be completing I/O
for a page while we are still submitting other buffers on the
same page for I/O.
Merge of xfs-linux-melb:xfs-kern:25004a by kenmcd.

  Start writeback on all buffers in the ioend list before we start submitting
  them so that a page will not be completed until all buffers on it are done.

Revision 1.111 / (download) - annotate - [select for diffs], Mon Dec 19 19:00:32 2005 UTC (11 years, 10 months ago) by hch
Branch: MAIN
Changes since 1.110: +1 -3 lines
Diff to previous 1.110 (colored)

add helper to get xfs_inode from vnode

Revision 1.110 / (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.109: +3 -3 lines
Diff to previous 1.109 (colored)

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

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

fix writeback control handling

fix a reversed condition on where to trylock and deal with block layer
congestion properly.

Patch from David Chinner and Christoph Hellwig.

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

cluster rewrites

We can cluster mapped pages aswell, this improves performances on rewrites
since we can reduce the number of allocator calls.

Revision 1.107 / (download) - annotate - [select for diffs], Fri Dec 16 12:22:37 2005 UTC (11 years, 10 months ago) by hch
Branch: MAIN
Changes since 1.106: +6 -12 lines
Diff to previous 1.106 (colored)

pass full 64bit offsets to xfs_add_to_ioend

Revision 1.106 / (download) - annotate - [select for diffs], Fri Dec 16 12:20:20 2005 UTC (11 years, 10 months ago) by hch
Branch: MAIN
Changes since 1.105: +33 -56 lines
Diff to previous 1.105 (colored)

consolidate some code in xfs_page_state_convert

The unmapped buffer case is very similar to delayed and unwritten extends. Reorganize the code to share some code for these cases.

Revision 1.105 / (download) - annotate - [select for diffs], Fri Dec 16 12:18:03 2005 UTC (11 years, 10 months ago) by hch
Branch: MAIN
Changes since 1.104: +52 -37 lines
Diff to previous 1.104 (colored)

various fixes for xfs_convert_page

fix various bogusities in handling offets

From David Chinner and Christoph Hellwig

Revision 1.104 / (download) - annotate - [select for diffs], Fri Dec 16 12:15:07 2005 UTC (11 years, 10 months ago) by hch
Branch: MAIN
Changes since 1.103: +53 -83 lines
Diff to previous 1.103 (colored)

clean up the xfs_offset_to_map interface

Currently we pass a struct page and a relative offset into that page around, and returns the current xfs_iomap_t if the block at the specified offset
fits into it, or a NULL pointer otherwise.  This patch passed the full 64bit
offset into the inode that all callers have anyway, and changes the return
value to a simple boolean.  Also the function gets a more descriptive name:
xfs_iomap_valid.

Revision 1.103 / (download) - annotate - [select for diffs], Fri Dec 16 11:52:32 2005 UTC (11 years, 10 months ago) by hch
Branch: MAIN
Changes since 1.102: +89 -57 lines
Diff to previous 1.102 (colored)

use pagevec lookups

This reduces the time spend in the radix tree lookups and avoids unessecary
look roundtrips.

Revision 1.102 / (download) - annotate - [select for diffs], Fri Dec 16 11:48:23 2005 UTC (11 years, 10 months ago) by hch
Branch: MAIN
Changes since 1.101: +421 -355 lines
Diff to previous 1.101 (colored)

Initial pass at going directly-to-bio on the buffered IO path.

This allows us to submit much larger I/Os instead of sending down lots
of small buffer_heads.  To do this we need to have a rather complicated
I/O submission and completion tracking infrastructure.  Part of the latter
has been merged already a long time ago for direct I/O support.
Part of the problem is that we need to track sub-pagesize regions and for
that we still need buffer_heads for the time beeing.  Long-term I hope
we can move to better data strucutures and/or maybe move this to fs/mpage.c
instead of having it in XFS.

Original patch from Nathan Scott with various updates from David Chinner
and Christoph Hellwig.

Revision 1.101 / (download) - annotate - [select for diffs], Fri Nov 11 02:53:51 2005 UTC (11 years, 11 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.100: +6 -7 lines
Diff to previous 1.100 (colored)

Fix a 32 bit value wraparound when providing a mapping for a large direct write.
Merge of xfs-linux-melb:xfs-kern:24351a by kenmcd.

Revision 1.100 / (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.99: +1 -1 lines
Diff to previous 1.99 (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.99 / (download) - annotate - [select for diffs], Fri Oct 28 03:53:33 2005 UTC (12 years ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.98: +3 -2 lines
Diff to previous 1.98 (colored)

Ensure fsync does not incorrectly return EIO for pages beyond EOF.
Merge of xfs-linux-melb:xfs-kern:24236a by kenmcd.

Revision 1.98 / (download) - annotate - [select for diffs], Wed Oct 26 15:23:02 2005 UTC (12 years ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.97: +16 -12 lines
Diff to previous 1.97 (colored)

Fix boundary conditions when issuing direct IOs from large userspace buffers.
Merge of xfs-linux-melb:xfs-kern:24223a by kenmcd.

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

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

Revision 1.96 / (download) - annotate - [select for diffs], Fri Sep 23 03:48:50 2005 UTC (12 years, 1 month ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.95: +6 -5 lines
Diff to previous 1.95 (colored)

Remove xfs_macros.c, xfs_macros.h, rework headers a whole lot.
Merge of xfs-linux-melb:xfs-kern:23901a by kenmcd.

Revision 1.95 / (download) - annotate - [select for diffs], Mon Sep 5 03:47:46 2005 UTC (12 years, 1 month ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.94: +1 -1 lines
Diff to previous 1.94 (colored)

Fix incorrect use of BMAPI_READ in unwritten extent handling (luckily just cosmetic).
Merge of xfs-linux-melb:xfs-kern:23718a by kenmcd.

Revision 1.94 / (download) - annotate - [select for diffs], Wed Aug 3 17:49:51 2005 UTC (12 years, 2 months ago) by hch
Branch: MAIN
Changes since 1.93: +25 -2 lines
Diff to previous 1.93 (colored)

Delay I/O completion for unwritten extents after conversion

Revision 1.93 / (download) - annotate - [select for diffs], Wed Aug 3 10:58:24 2005 UTC (12 years, 2 months ago) by hch
Branch: MAIN
Changes since 1.92: +48 -26 lines
Diff to previous 1.92 (colored)

Delay direct I/O completion to a workqueue

This is nessecary because aio+dio completions may happen from irq
context but we need process context for converting unwritten extents.

We also queue regular direct I/O completions to workqueue for regularity,
there's only one queue_work call per syscall.

Revision 1.92 / (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.91: +90 -66 lines
Diff to previous 1.91 (colored)

Add infrastructure for tracking I/O completions

Revision 1.91 / (download) - annotate - [select for diffs], Wed Aug 3 10:43:11 2005 UTC (12 years, 2 months ago) by hch
Branch: MAIN
Changes since 1.90: +2 -9 lines
Diff to previous 1.90 (colored)

add infrastructure for waiting on I/O completion at inode reclaim time

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

pass the kiocb to the direct I/O ->end_io callback.

Backported from 2.6.13-rc

Revision 1.89 / (download) - annotate - [select for diffs], Thu Jun 23 14:59:12 2005 UTC (12 years, 4 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.88: +11 -0 lines
Diff to previous 1.88 (colored)

Add a chunk of tracing code to diagnose truncate related issues.
Merge of xfs-linux-melb:xfs-kern:22966a by kenmcd.

Revision 1.88 / (download) - annotate - [select for diffs], Fri Jun 3 06:02:40 2005 UTC (12 years, 4 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.87: +0 -1 lines
Diff to previous 1.87 (colored)

Remove extraneous leftover warn_on from debugging a corruption-on-fragment bug.
Merge of xfs-linux-melb:xfs-kern:22804a by kenmcd.

Revision 1.87 / (download) - annotate - [select for diffs], Fri May 13 11:12:37 2005 UTC (12 years, 5 months ago) by hch
Branch: MAIN
Changes since 1.86: +1 -1 lines
Diff to previous 1.86 (colored)

Fix a false-positive WARN_ON

Revision 1.86 / (download) - annotate - [select for diffs], Fri Apr 29 15:09:58 2005 UTC (12 years, 5 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.85: +39 -29 lines
Diff to previous 1.85 (colored)

Use the right offset when ensuring a delayed allocate conversion has covered the offset originally requested.  Can cause data corruption when multiple processes are performing writeout on different areas of the same file.  Quite difficult to hit though.
Merge of xfs-linux-melb:xfs-kern:22377a by kenmcd.

Revision 1.85 / (download) - annotate - [select for diffs], Fri Apr 29 15:09:15 2005 UTC (12 years, 5 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.84: +3 -5 lines
Diff to previous 1.84 (colored)

Do not do delalloc conversion on pages beyond EOF ever, not just sometimes.
Merge of xfs-linux-melb:xfs-kern:22376a by kenmcd.

Revision 1.84 / (download) - annotate - [select for diffs], Tue Apr 26 01:36:35 2005 UTC (12 years, 6 months ago) by dxm
Branch: MAIN
Changes since 1.83: +4 -1 lines
Diff to previous 1.83 (colored)

stop background sync from waiting for in-use inodes
stop background sync from waiting for in-use inodes

Revision 1.83 / (download) - annotate - [select for diffs], Mon Feb 7 02:42:28 2005 UTC (12 years, 8 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.82: +19 -17 lines
Diff to previous 1.82 (colored)

Prevent releasepage from releasing pages early, while they still have delayed allocate buffers.  Affects filesystem blocksizes smaller than the pagesize only.
Merge of xfs-linux-melb:xfs-kern:21409a by kenmcd.

Revision 1.82 / (download) - annotate - [select for diffs], Thu Jan 13 02:55:53 2005 UTC (12 years, 9 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.81: +1 -1 lines
Diff to previous 1.81 (colored)

Fix page index to byte calculation result truncation in tracing code.
Merge of xfs-linux-melb:xfs-kern:21106a by kenmcd.

Revision 1.81 / (download) - annotate - [select for diffs], Fri Oct 1 05:52:39 2004 UTC (13 years ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.80: +1 -1 lines
Diff to previous 1.80 (colored)

Merge in direct IO fix from mainline 2.6.9-rc3.
Merge of xfs-linux-melb:xfs-kern:19629a by kenmcd.

Revision 1.80 / (download) - annotate - [select for diffs], Thu Sep 30 03:41:30 2004 UTC (13 years ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.79: +19 -12 lines
Diff to previous 1.79 (colored)

Fix sync issues - use correct writepage page re-dirty interface, and do not clear dirty flag if page only partially written.
Merge of xfs-linux-melb:xfs-kern:19622a by kenmcd.

Revision 1.79 / (download) - annotate - [select for diffs], Wed Sep 22 07:05:28 2004 UTC (13 years, 1 month ago) by nathans
Branch: MAIN
Changes since 1.78: +6 -3 lines
Diff to previous 1.78 (colored)

Ensure we update the wbc pages skipped count correctly when writing pages.

Revision 1.78 / (download) - annotate - [select for diffs], Tue Aug 3 04:06:25 2004 UTC (13 years, 2 months ago) by nathans
Branch: MAIN
Changes since 1.77: +1 -18 lines
Diff to previous 1.77 (colored)

Fix accidental reverting of sync write preallocations.

Revision 1.77 / (download) - annotate - [select for diffs], Mon Aug 2 17:20:16 2004 UTC (13 years, 2 months ago) by sandeen
Branch: MAIN
Changes since 1.76: +6 -9 lines
Diff to previous 1.76 (colored)

Code checks to trap access to fsb zero.
Added checks to trap access to block zero.

Revision 1.76 / (download) - annotate - [select for diffs], Thu Jul 8 07:42:57 2004 UTC (13 years, 3 months ago) by nathans
Branch: MAIN
Changes since 1.75: +1 -1 lines
Diff to previous 1.75 (colored)

sparse: fix uses of null in place of zero and vice versa.  From Chris Wedgwood.

Revision 1.75 / (download) - annotate - [select for diffs], Tue Jun 15 18:04:55 2004 UTC (13 years, 4 months ago) by cattelan
Branch: MAIN
Changes since 1.74: +16 -9 lines
Diff to previous 1.74 (colored)

Partial fix for long standing nfs+xfs corruption.

See:
http://oss.sgi.com/bugzilla/show_bug.cgi?id=198
for full details
Masanori TSUDA fix for xfs+xfs corruption
Basically do not flush pages beyond end of file (i_size)
There still needs to be some investigation done to see
if this is just fixing a symptom of i_size != di_size / 
valid page handling.
But for the moment this fixes the problem

Revision 1.74 / (download) - annotate - [select for diffs], Tue Jun 15 02:19:38 2004 UTC (13 years, 4 months ago) by nathans
Branch: MAIN
Changes since 1.73: +4 -17 lines
Diff to previous 1.73 (colored)

Remove the one remaining, broken use of XFS_WRITEIO_LOG and sanitize direct IO map blocks call.

Revision 1.73 / (download) - annotate - [select for diffs], Tue Jun 15 01:54:08 2004 UTC (13 years, 4 months ago) by nathans
Branch: MAIN
Changes since 1.72: +7 -2 lines
Diff to previous 1.72 (colored)

Ensure buffers that map to unwritten extents are only submitted when properly setup.

Revision 1.72 / (download) - annotate - [select for diffs], Thu May 27 17:28:34 2004 UTC (13 years, 5 months ago) by sandeen
Branch: MAIN
Changes since 1.71: +1 -1 lines
Diff to previous 1.71 (colored)

Fix overflow in mapping test at offsets of 2^63-1 bytes
When checking whether a mapping matches our offset,
test in such a way that it will not overflow 63 bits - 
calculate last offset in the mapping for comparison

Revision 1.71 / (download) - annotate - [select for diffs], Mon May 24 23:31:11 2004 UTC (13 years, 5 months ago) by nathans
Branch: MAIN
Changes since 1.70: +1 -1 lines
Diff to previous 1.70 (colored)

Merge overlooked writeback change from akpm on last kernel merge.

Revision 1.70 / (download) - annotate - [select for diffs], Wed May 12 17:18:11 2004 UTC (13 years, 5 months ago) by felixb
Branch: MAIN
Changes since 1.69: +0 -5 lines
Diff to previous 1.69 (colored)

Remove speculative preallocation from linvfs_get_block_core.
All speculative preallocations should be done from xfs_iomap_write_delay.
Remove speculative preallocation from linvfs_get_block_core.
All speculative preallocations should be done from xfs_iomap_write_delay.

Revision 1.69 / (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.68: +3 -2 lines
Diff to previous 1.68 (colored)

Merge up to 2.6.6

Revision 1.68 / (download) - annotate - [select for diffs], Tue May 4 18:59:38 2004 UTC (13 years, 5 months ago) by hch
Branch: MAIN
Changes since 1.67: +25 -12 lines
Diff to previous 1.67 (colored)

Properly account for clustered pages in the writeout path
decrement wbc->nr_to_write to avoid confusion in the VM writeback logic.

Revision 1.67 / (download) - annotate - [select for diffs], Fri Mar 19 22:46:00 2004 UTC (13 years, 7 months ago) by nstraz
Branch: MAIN
Changes since 1.66: +4 -4 lines
Diff to previous 1.66 (colored)

Use unsigned long long for end_offset so we don't overflow it.

Revision 1.66 / (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.65: +18 -15 lines
Diff to previous 1.65 (colored)

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

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

replace page_buf_t, pb_target_t and page_buf_daddr_t with their xfs_ variants

Revision 1.64 / (download) - annotate - [select for diffs], Tue Feb 17 06:08:30 2004 UTC (13 years, 8 months ago) by nathans
Branch: MAIN
Changes since 1.63: +3 -2 lines
Diff to previous 1.63 (colored)

Fix BUG in debug trace code, it was plain wrong for the unmapped page case.

Revision 1.63 / (download) - annotate - [select for diffs], Wed Feb 11 00:57:10 2004 UTC (13 years, 8 months ago) by nathans
Branch: MAIN
Changes since 1.62: +60 -62 lines
Diff to previous 1.62 (colored)

Use a naming convention here thats more consistent with everything else.

Revision 1.62 / (download) - annotate - [select for diffs], Tue Feb 10 05:51:00 2004 UTC (13 years, 8 months ago) by nathans
Branch: MAIN
Changes since 1.61: +52 -2 lines
Diff to previous 1.61 (colored)

Add I/O path tracing code, twas useful in diagnosing that last unwritten extent problem.

Revision 1.61 / (download) - annotate - [select for diffs], Mon Feb 9 05:04:32 2004 UTC (13 years, 8 months ago) by nathans
Branch: MAIN
Changes since 1.60: +1 -1 lines
Diff to previous 1.60 (colored)

Use the f_mapping file interface, on Andrews instruction.  Trivial change.

Revision 1.60 / (download) - annotate - [select for diffs], Fri Feb 6 04:55:21 2004 UTC (13 years, 8 months ago) by nathans
Branch: MAIN
Changes since 1.59: +0 -1 lines
Diff to previous 1.59 (colored)

Remove bogus assert I added during testing of previous unwritten fix.

Revision 1.59 / (download) - annotate - [select for diffs], Fri Feb 6 03:54:01 2004 UTC (13 years, 8 months ago) by nathans
Branch: MAIN
Changes since 1.58: +11 -18 lines
Diff to previous 1.58 (colored)

Fix data loss when writing into unwritten extents while memory is being reclaimed.

Revision 1.58 / (download) - annotate - [select for diffs], Fri Feb 6 03:50:06 2004 UTC (13 years, 8 months ago) by nathans
Branch: MAIN
Changes since 1.57: +7 -2 lines
Diff to previous 1.57 (colored)

Add back a missing pflags check in releasepage.

Revision 1.57 / (download) - annotate - [select for diffs], Wed Jan 14 06:14:39 2004 UTC (13 years, 9 months ago) by sandeen
Branch: MAIN
Changes since 1.56: +17 -4 lines
Diff to previous 1.56 (colored)

Fix for large allocation groups, so that extent
sizes will not overflow pagebuf lengths.
Fix map_unwritten so that we don't map so many blocks
that the size won't fit in a pagebuf.
Fix up linvfs_direct_IO for large mappings

Revision 1.56 / (download) - annotate - [select for diffs], Tue Dec 9 03:21:49 2003 UTC (13 years, 10 months ago) by nathans
Branch: MAIN
Changes since 1.55: +6 -5 lines
Diff to previous 1.55 (colored)

Fix an XFS release_page case where unwritten extents may cause I/O incorrectly.
Merge of xfs-linux:slinx:163128a by nathans.

Revision 1.55 / (download) - annotate - [select for diffs], Sun Nov 23 21:43:40 2003 UTC (13 years, 11 months ago) by nathans
Branch: MAIN
Changes since 1.54: +4 -4 lines
Diff to previous 1.54 (colored)

Use iomap abstraction consistently.
Merge of xfs-linux:slinx:162327a by nathans.

Revision 1.54 / (download) - annotate - [select for diffs], Thu Nov 20 00:55:29 2003 UTC (13 years, 11 months ago) by cattelan
Branch: MAIN
Changes since 1.53: +95 -94 lines
Diff to previous 1.53 (colored)

move the iomap data structures out of pagebuf
Merge of xfs-linux:slinx:162048a by nathans.

  Use the new flags and data structures

Revision 1.53 / (download) - annotate - [select for diffs], Tue Nov 18 05:00:25 2003 UTC (13 years, 11 months ago) by nathans
Branch: MAIN
Changes since 1.52: +8 -11 lines
Diff to previous 1.52 (colored)

Cleanup the page buffers loop in writepage (no goto, like 2.4 variant).

Revision 1.52 / (download) - annotate - [select for diffs], Fri Nov 14 01:47:31 2003 UTC (13 years, 11 months ago) by sandeen
Branch: MAIN
Changes since 1.51: +3 -0 lines
Diff to previous 1.51 (colored)

Set proper device for realtime files in linvfs_get_block_core
Merge of 2.4.x-xfs:slinx:143006a by sandeen.

Revision 1.51 / (download) - annotate - [select for diffs], Fri Nov 14 00:21:45 2003 UTC (13 years, 11 months ago) by nathans
Branch: MAIN
Changes since 1.50: +5 -6 lines
Diff to previous 1.50 (colored)

Fix an infinite writepage loop under a combination of low free space, and racing write/unlink calls to the same file.
Merge of xfs-linux:slinx:161773a by nathans.

Revision 1.50 / (download) - annotate - [select for diffs], Tue Sep 30 14:25:52 2003 UTC (14 years ago) by lord
Branch: MAIN
Changes since 1.49: +2 -1 lines
Diff to previous 1.49 (colored)

When calculating the number of pages to probe for an unwritten extent,
use the size of the extent, not the page count of the pagebuf which is
initialized to zero.
Merge of xfs-linux:slinx:159206a by lord.

  calculate the last page to probe from the extent size rather
  than the pagebuf page count.

Revision 1.49 / (download) - annotate - [select for diffs], Fri Sep 26 15:30:38 2003 UTC (14 years, 1 month ago) by lord
Branch: MAIN
Changes since 1.48: +1 -1 lines
Diff to previous 1.48 (colored)

Fix build
use buffer_unwritten rather than BH_Unwritten

Revision 1.48 / (download) - annotate - [select for diffs], Fri Sep 26 06:39:53 2003 UTC (14 years, 1 month ago) by nathans
Branch: MAIN
Changes since 1.47: +2 -0 lines
Diff to previous 1.47 (colored)

Fix a broken interaction between a buffered read into an unwritten extent and a direct write
Merge of xfs-linux:slinx:159030a by nathans.

Revision 1.47 / (download) - annotate - [select for diffs], Wed Aug 20 07:21:58 2003 UTC (14 years, 2 months ago) by nathans
Branch: MAIN
Changes since 1.46: +9 -5 lines
Diff to previous 1.46 (colored)

Fix a case where we could issue an unwritten extent buffer for IO without it being locked - an instant BUG trigger in the block layer
Merge of xfs-linux:slinx:156304a by nathans.

Revision 1.46 / (download) - annotate - [select for diffs], Thu Aug 7 00:04:23 2003 UTC (14 years, 2 months ago) by nathans
Branch: MAIN
Changes since 1.45: +1 -1 lines
Diff to previous 1.45 (colored)

Fix a logic error allowing pages to marked uptodate when not all attached buffers were uptodate.

Revision 1.45 / (download) - annotate - [select for diffs], Fri Aug 1 01:18:06 2003 UTC (14 years, 2 months ago) by nathans
Branch: MAIN
Changes since 1.44: +13 -15 lines
Diff to previous 1.44 (colored)

Minor cleanups for unwritten extent fix, using one less variable on the stack

Revision 1.44 / (download) - annotate - [select for diffs], Tue Jul 29 16:56:00 2003 UTC (14 years, 3 months ago) by lord
Branch: MAIN
Changes since 1.43: +1 -1 lines
Diff to previous 1.43 (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.
Fix sign of error variable

Revision 1.43 / (download) - annotate - [select for diffs], Tue Jul 29 16:49:18 2003 UTC (14 years, 3 months ago) by lord
Branch: MAIN
Changes since 1.42: +26 -24 lines
Diff to previous 1.42 (colored)

Use i_size_read and i_size_write instead of direct access to the i_size
field.
Switch xfs to using i_size_read and i_size_write, fix a bug in the
  unwritten extent case where we could incorrectly treat a page as
  the last one in the file.

Revision 1.42 / (download) - annotate - [select for diffs], Tue Jul 29 16:41:53 2003 UTC (14 years, 3 months ago) by lord
Branch: MAIN
Changes since 1.41: +12 -4 lines
Diff to previous 1.41 (colored)

Change XFS to support sector aligned O_DIRECT rather than filesystem block
alignment.
Use the PBMF_NEW flag on an extent to indicate that the buffer head is
new. In the direct IO path, determine which device the inode lies on
so we can pass it down to blockdev_direct_IO. Lets us do sector aligned
O_DIRECT on the data device.

Revision 1.41 / (download) - annotate - [select for diffs], Tue Jul 29 15:54:36 2003 UTC (14 years, 3 months ago) by lord
Branch: MAIN
Changes since 1.40: +35 -11 lines
Diff to previous 1.40 (colored)

This patch adds a mechanism by which a filesystem can register an
interest in the completion of direct I/O.  The completion routine
will be given the inode, an offset and a length, and an optional
filesystem-private field.
Use IO completion handler in the direct I/O path to get control
back when writing to an unwritten extent. Allows XFS to convert 
the state of an unwritten extent to a written one at the end of
the IO.

Revision 1.40 / (download) - annotate - [select for diffs], Mon Jul 14 04:28:19 2003 UTC (14 years, 3 months ago) by nathans
Branch: MAIN
Changes since 1.39: +11 -1 lines
Diff to previous 1.39 (colored)

Ensure the VFS doesn't rip the inode out from beneath us when doing unwritten extent conversion
Merge of xfs-linux:slinx:153113a by nathans.

Revision 1.39 / (download) - annotate - [select for diffs], Thu Jul 10 05:41:49 2003 UTC (14 years, 3 months ago) by dxm
Branch: MAIN
Changes since 1.38: +1 -2 lines
Diff to previous 1.38 (colored)

move process flag manipulations to linux specific code and
save/set/restore instead of set/clear for good form
Merge of xfs-linux:slinx:152830a by nathans.

  Merge of 2.4.x-xfs-kern:slinx:152830a by nathans.
  move process flag manipulations to linux specific code and
  save/set/restore instead of set/clear for good form

Revision 1.38 / (download) - annotate - [select for diffs], Wed Jul 9 00:40:03 2003 UTC (14 years, 3 months ago) by nathans
Branch: MAIN
Changes since 1.37: +5 -5 lines
Diff to previous 1.37 (colored)

Avoid doing the page->mapping->host dereferences twice on writepage
Merge of xfs-linux:slinx:152717a by nathans.

Revision 1.37 / (download) - annotate - [select for diffs], Thu May 1 17:24:11 2003 UTC (14 years, 5 months ago) by cattelan
Branch: MAIN
Changes since 1.36: +21 -1 lines
Diff to previous 1.36 (colored)

Merge the header file stuff over
Merge of 2.4.x-xfs:slinx:147627a originally by cattelan on 05/01/03
  Rework the way xfs includes xfs_<blah>.h headers.
  This reduces a lot of the compile dependenciesÂ, 
  and should reduce some of the "recompile all" situations.

Revision 1.36 / (download) - annotate - [select for diffs], Wed Apr 23 17:52:33 2003 UTC (14 years, 6 months ago) by lord
Branch: MAIN
Changes since 1.35: +35 -44 lines
Diff to previous 1.35 (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. 
  Move all allocation requst flags to a seperate set of defines
  instead of abusing the pagebuf flags. Make unwritten extent
  conversion go into the allocator the same way all other
  requests do. Fix a reference count issue which caused use
  after free and one case where we passed an unlocked buffer
  into submit_bh.

Merge of 2.4.x-xfs:slinx:146331a originally by lord on 04/18/03
  fix some unwise use of refile_buffer in xfs which caused us to
  put buffers on the locked list rather than the clean list.
  do not refile the buffer before submit_bh, and do not call
  refile_buffer with the buffer locked.

Merge of 2.4.x-xfs:slinx:146520a originally by lord on 04/22/03
  fix a double lock of a buffer head which deadlocked us on 
  small blocksize filesystems. Also relocate a balance dirty
  call so that we do it a little less often.
  In the unwritten extent case, remove a call to lock_buffer()
  added in the last mod, this was incorrect and caused
  a deadlock. Also instead of doing balance dirty each
  time we dirty a buffer head, do it once for the whole
  page_state_convert call.

Merge of 2.4.x-xfs:slinx:146548a originally by lord on 04/22/03
  Back part of the last change out (again), this time I broke
  the module build. We cannot get to balance_dirty directly
  from a module.
  Do not call balance_dirty directly, it does not work
  from modules.

Revision 1.35 / (download) - annotate - [select for diffs], Thu Apr 17 03:00:02 2003 UTC (14 years, 6 months ago) by nathans
Branch: MAIN
Changes since 1.34: +6 -0 lines
Diff to previous 1.34 (colored)

Add a validity check for unwritten extents, trying to trap a problem
on ia64.
Merge of 2.4.x-xfs:slinx:144727a by nathans.

Revision 1.34 / (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.33: +1 -1 lines
Diff to previous 1.33 (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.33 / (download) - annotate - [select for diffs], Mon Mar 31 03:25:17 2003 UTC (14 years, 6 months ago) by nathans
Branch: MAIN
Changes since 1.32: +9 -3 lines
Diff to previous 1.32 (colored)

Fix a pagebuf leak with the pagebufs used to coordinate IO completion
for unwritten extent writes.
Merge of 2.4.x-xfs:slinx:143052a by nathans.

Revision 1.32 / (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.31: +2 -0 lines
Diff to previous 1.31 (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.31 / (download) - annotate - [select for diffs], Mon Mar 17 02:19:54 2003 UTC (14 years, 7 months ago) by nathans
Branch: MAIN
Changes since 1.30: +0 -2 lines
Diff to previous 1.30 (colored)

Minor header shuffling, removing a bunch of already-included files and
allowing 2.4/2.5 to be slightly more in sync.
Merge of 2.4.x-xfs:slinx:141841a by nathans.

Revision 1.30 / (download) - annotate - [select for diffs], Wed Mar 12 23:17:05 2003 UTC (14 years, 7 months ago) by lord
Branch: MAIN
Changes since 1.29: +3 -0 lines
Diff to previous 1.29 (colored)

remove some unbounded loops from the unwritten and unmapped page
processing code. As files get larger, these code paths have the
potential to hog the cpu for long periods of time. Just cap the
unmapped page case, and the unwritten one is supposed to be
stopping at the end of the extent anyway.
Merge of 2.4.x-xfs:slinx:141609a by lord.

  terminate page probing with reasonable limits.

Revision 1.29 / (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.28: +294 -30 lines
Diff to previous 1.28 (colored)

Implement support for unwritten extents in XFS.

Revision 1.28 / (download) - annotate - [select for diffs], Mon Feb 17 03:37:48 2003 UTC (14 years, 8 months ago) by nathans
Branch: MAIN
Changes since 1.27: +8 -10 lines
Diff to previous 1.27 (colored)

Fix buffer_head deadlock on the IO path on small blocksize filesystems.
Fixes fsstress hangs on these, observed using QA test 013 and others.
Merge of 2.4.x-xfs:slinx:139914a by nathans.

Revision 1.27 / (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.26: +1 -1 lines
Diff to previous 1.26 (colored)

Merge up to 2.5.60

Revision 1.26 / (download) - annotate - [select for diffs], Tue Feb 4 20:57:48 2003 UTC (14 years, 8 months ago) by lord
Branch: MAIN
Changes since 1.25: +161 -81 lines
Diff to previous 1.25 (colored)

cleanup delayed allocate write path a little and fix some
small bugs in there.
Merge of 2.4.x-xfs:slinx:138445a by hch.

  Improve documentation, fix the handling of buffer heads on
  the dirty list, and the vnode modified state when converting
  delalloc space to real space. 

Revision 1.25 / (download) - annotate - [select for diffs], Mon Jan 13 21:56:57 2003 UTC (14 years, 9 months ago) by hch
Branch: MAIN
Changes since 1.24: +3 -2 lines
Diff to previous 1.24 (colored)

Merge up to 2.5.57

Revision 1.24 / (download) - annotate - [select for diffs], Fri Dec 20 18:51:34 2002 UTC (14 years, 10 months ago) by cattelan
Branch: MAIN
Changes since 1.23: +51 -45 lines
Diff to previous 1.23 (colored)

"merge" the 2.4 fsx fix for block size < page size to 2.5.  This needed
major changes to actually fit.
Merge of 2.4.x-xfs:slinx:132210a by hch.

  Remove BH_uptodate from get block.
  Rework the logic a bit in delalloc_convert.

Revision 1.23 / (download) - annotate - [select for diffs], Tue Dec 17 16:06:38 2002 UTC (14 years, 10 months ago) by hch
Branch: MAIN
Changes since 1.22: +2 -1 lines
Diff to previous 1.22 (colored)

merge up to 2.5.52

Revision 1.22 / (download) - annotate - [select for diffs], Fri Dec 13 17:10:49 2002 UTC (14 years, 10 months ago) by lord
Branch: MAIN
Changes since 1.21: +18 -10 lines
Diff to previous 1.21 (colored)

rework iocore infrastructure, remove some code and make it more
orthogonal. In addition, add some of the hooks for unwritten extents.
Merge of 2.4.x-xfs:slinx:134603a by hch.

  Merge of 2.4.x-xfs-dev:slinx:134603a by lord.
  some speedups of O_DIRECT and O_SYNC - in terms of allocating
  larger chunks of space. Also some unwritten extent hooks.

Revision 1.21 / (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.20: +10 -11 lines
Diff to previous 1.20 (colored)

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

  Remove an incorrect assert relating to mapping unwritten extents.
  Fix several typos in comments, make comments & code fit in 80 columns.

Revision 1.20 / (download) - annotate - [select for diffs], Thu Nov 21 15:49:11 2002 UTC (14 years, 11 months ago) by hch
Branch: MAIN
Changes since 1.19: +14 -18 lines
Diff to previous 1.19 (colored)

use find_trylock_page in the I/O code
use find_trylock_page instead of find_get_page + TestSetPageLocked

Revision 1.19 / (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.18: +1 -0 lines
Diff to previous 1.18 (colored)

missing from 2.5.47 merge
extra argument on readpages, we oops without this

Revision 1.18 / (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.17: +2 -2 lines
Diff to previous 1.17 (colored)

merge up to 2.5.45

Revision 1.17 / (download) - annotate - [select for diffs], Mon Nov 4 19:04:06 2002 UTC (14 years, 11 months ago) by cattelan
Branch: MAIN
Changes since 1.16: +12 -15 lines
Diff to previous 1.16 (colored)

narrow down comment
Merge of 2.4.x-xfs:slinx:131504a by lord.

  got a little carried away with comment width.

Revision 1.16 / (download) - annotate - [select for diffs], Mon Nov 4 18:55:09 2002 UTC (14 years, 11 months ago) by cattelan
Branch: MAIN
Changes since 1.15: +21 -2 lines
Diff to previous 1.15 (colored)

Fix fsx corruption.
Merge of 2.4.x-xfs:slinx:131438a by lord.

  fsx (file system exerciser orginally from NeXT)
  does all sorts of combinations of buffered reads/write map read/writes and truncates 
  This was exposing a problem in our write_page logic on file systems with block size < page size.

Revision 1.15 / (download) - annotate - [select for diffs], Wed Oct 16 20:06:23 2002 UTC (15 years ago) by lord
Branch: MAIN
Changes since 1.14: +0 -1 lines
Diff to previous 1.14 (colored)

merge up to 2.5.43

Revision 1.14 / (download) - annotate - [select for diffs], Mon Oct 14 14:43:35 2002 UTC (15 years ago) by lord
Branch: MAIN
Changes since 1.13: +3 -2 lines
Diff to previous 1.13 (colored)

merge up to 2.5.42

Revision 1.13 / (download) - annotate - [select for diffs], Fri Oct 11 18:47:40 2002 UTC (15 years ago) by lord
Branch: MAIN
Changes since 1.12: +4 -10 lines
Diff to previous 1.12 (colored)

merge strategy and bmap calls, they are two aspects of the same
operation.
Merge of 2.4.x-xfs:slinx:129728a by lord.

  always call VOP_BMAP, make PBF_WRITE and PBF_FILE_ALLOCATE
  seperate flags.

Revision 1.12 / (download) - annotate - [select for diffs], Fri Oct 11 17:12:16 2002 UTC (15 years ago) by lord
Branch: MAIN
Changes since 1.11: +0 -0 lines
Diff to previous 1.11 (colored)

fix a couple of compiler warnings which crept in.
Merge of 2.4.x-xfs:slinx:128671a by lord.

  make convert_page a void function, and remove unused need_trans
  variable.

Revision 1.11 / (download) - annotate - [select for diffs], Tue Oct 8 17:33:15 2002 UTC (15 years ago) by lord
Branch: MAIN
Changes since 1.10: +3 -1 lines
Diff to previous 1.10 (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.
linvfs_direct_IO takes a file rather than an inode pointer

Revision 1.10 / (download) - annotate - [select for diffs], Mon Sep 30 11:50:03 2002 UTC (15 years ago) by hch
Branch: MAIN
Changes since 1.9: +78 -150 lines
Diff to previous 1.9 (colored)

I/O path cleanups
Merge of 2.4.x-xfs:slinx:128581a by hch.

  Move some more common code into delalloc_convert.
  Remove release_page/write_full_page wrappers.
  Merge map_page into convert_page.
  Small code tidyups.

Revision 1.9 / (download) - annotate - [select for diffs], Thu Sep 26 14:54:36 2002 UTC (15 years, 1 month ago) by lord
Branch: MAIN
Changes since 1.8: +3 -2 lines
Diff to previous 1.8 (colored)

Avoid writing data out to disk twice!
When we start I/O on a page, clean it, we need to do this ourselves
since we have a writepage call which writes more than one page out.
Also skip pages which are already being writeback processed somewhere.

Revision 1.8 / (download) - annotate - [select for diffs], Fri Sep 20 18:13:52 2002 UTC (15 years, 1 month ago) by hch
Branch: MAIN
Changes since 1.7: +1 -1 lines
Diff to previous 1.7 (colored)

Avoid buffer_heads in linvfs_readpage if possible
Switch from block_read_full_page to mpage_readpage

Revision 1.7 / (download) - annotate - [select for diffs], Fri Sep 20 09:56:28 2002 UTC (15 years, 1 month ago) by hch
Branch: MAIN
Changes since 1.6: +1 -1 lines
Diff to previous 1.6 (colored)

Use min_t in linvfs_get_block_core
Use min_t in linvfs_get_block_core to avoid a compiler warning on sparc64

Revision 1.6 / (download) - annotate - [select for diffs], Thu Sep 19 21:18:22 2002 UTC (15 years, 1 month ago) by hch
Branch: MAIN
Changes since 1.5: +36 -150 lines
Diff to previous 1.5 (colored)

Sanitize some names in xfs_aops.c, especially a less offending name for linvfs_pb_bmap
Merge of 2.4.x-xfs:slinx:127872a by hch.

  Sanitize some names, especially a less offending name for linvfs_pb_bmap

Revision 1.5 / (download) - annotate - [select for diffs], Mon Sep 16 16:10:25 2002 UTC (15 years, 1 month ago) by lord
Branch: MAIN
Changes since 1.4: +3 -3 lines
Diff to previous 1.4 (colored)

merge xfs up to 2.5.35

Revision 1.4 / (download) - annotate - [select for diffs], Wed Sep 11 19:12:31 2002 UTC (15 years, 1 month ago) by sandeen
Branch: MAIN
Changes since 1.3: +12 -4 lines
Diff to previous 1.3 (colored)

Merge of 2.4.x-xfs:slinx:127147a originally by sandeen on 09/11/02
  add error checks to linvfs_direct_IO

Revision 1.3 / (download) - annotate - [select for diffs], Thu Sep 5 06:24:11 2002 UTC (15 years, 1 month ago) by nathans
Branch: MAIN
Changes since 1.2: +445 -37 lines
Diff to previous 1.2 (colored)

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

  move the address_space operations from xfs_iops.c into here, make a bunch of
  stuff static now.  remove a few more remnants of the pb/pagebuf naming here.

Revision 1.2 / (download) - annotate - [select for diffs], Wed Sep 4 22:26:29 2002 UTC (15 years, 1 month ago) by sandeen
Branch: MAIN
Changes since 1.1: +20 -48 lines
Diff to previous 1.1 (colored)

Merge of 2.4.x-xfs:slinx:126696a originally by sandeen on 09/04/02
  make xfs_aops.c look like XFS source

Revision 1.1 / (download) - annotate - [select for diffs], Mon Sep 2 12:36:59 2002 UTC (15 years, 1 month ago) by lord
Branch: MAIN

move page_buf_io.c to xfs_aops.c
Merge of 2.4.x-xfs:slinx:126555a by lord.

  linux/fs/xfs/pagebuf/page_buf_io.c 1.55 Renamed to linux/fs/xfs/linux/xfs_aops.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>