CVS log for xfs-linux/xfs_bmap.c

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

Request diff between arbitrary revisions


Default branch: MAIN
Current tag: MAIN


Revision 1.417 / (download) - annotate - [select for diffs], Fri Oct 10 15:28:52 2008 UTC (9 years ago) by donaldd.longdrop.melbourne.sgi.com
Branch: MAIN
CVS Tags: HEAD
Changes since 1.416: +19 -3 lines
Diff to previous 1.416 (unified)

Move XFS_BMAP_SANITY_CHECK out of line.

Move the XFS_BMAP_SANITY_CHECK macro out of line and make it a properly typed
function.  Also pass the xfs_buf for the btree block instead of just the btree
block header, as we will need some additional information for it to implement
CRC checking of btree blocks.


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

  Move XFS_BMAP_SANITY_CHECK out of line.

Revision 1.416 / (download) - annotate - [select for diffs], Fri Oct 10 15:27:57 2008 UTC (9 years ago) by donaldd.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.415: +37 -34 lines
Diff to previous 1.415 (unified)

Always use struct xfs_btree_block instead of short / longform structures.

Always use the generic xfs_btree_block type instead of the short / long
structures.  Add XFS_BTREE_SBLOCK_LEN / XFS_BTREE_LBLOCK_LEN defines for
the length of a short / long form block.  The rationale for this is that
we will grow more btree block header variants to support CRCs and other
RAS information, and always accessing them through the same datatype
with unions for the short / long form pointers makes implementing this
much easier.


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

  Always use struct xfs_btree_block instead of short / longform structures.

Revision 1.415 / (download) - annotate - [select for diffs], Fri Oct 10 15:26:57 2008 UTC (9 years ago) by donaldd.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.414: +37 -56 lines
Diff to previous 1.414 (unified)

Undoes mod:     xfs-linux-melb:xfs-kern:32297a
Revert broken commit.
Merge of xfs-linux-melb:xfs-kern:32299a by kenmcd.

Revision 1.414 / (download) - annotate - [select for diffs], Fri Oct 10 15:25:13 2008 UTC (9 years ago) by donaldd.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.413: +56 -37 lines
Diff to previous 1.413 (unified)

Always use struct xfs_btree_block instead of short / longform structures.

Always use the generic xfs_btree_block type instead of the short / long
structures.  Add XFS_BTREE_SBLOCK_LEN / XFS_BTREE_LBLOCK_LEN defines for
the length of a short / long form block.  The rationale for this is that
we will grow more btree block header variants to support CRCs and other
RAS information, and always accessing them through the same datatype
with unions for the short / long form pointers makes implementing this
much easier.


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

  Always use struct xfs_btree_block instead of short / longform structures.

Revision 1.413 / (download) - annotate - [select for diffs], Fri Oct 10 15:23:27 2008 UTC (9 years ago) by donaldd.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.412: +24 -30 lines
Diff to previous 1.412 (unified)

cleanup btree record / key / ptr addressing macros.

Replace the generic record / key / ptr addressing macros that use cpp token
pasting with simpler macros that do the job for just one given btree type.
The new macros lose the cur argument and thus can be used outside the core
btree code, but also gain an xfs_mount * argument to allow for checking the
CRC flag in the near future.  Note that many of these macros aren't actually
used in the kernel code, but only in userspace (mostly in xfs_repair).


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

  cleanup btree record / key / ptr addressing macros.

Revision 1.412 / (download) - annotate - [select for diffs], Fri Oct 10 15:21:38 2008 UTC (9 years ago) by donaldd.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.411: +9 -9 lines
Diff to previous 1.411 (unified)

Cleanup maxrecs calculation.

Clean up the way the maximum and minimum records for the btree blocks are
calculated.  For the alloc and inobt btrees all the values are pre-calculated
in xfs_mount_common, and we switch the current loop around the ugly generic
macros that use cpp token pasting to generate type names to two small helpers
in normal C code.  For the bmbt and bmdr trees these helpers also exist,
but can be called during runtime, too.  Here we also kill various macros
dealing with them and inline the logic into the get_minrecs / get_maxrecs /
get_dmaxrecs methods in xfs_bmap_btree.c.

Note that all these new helpers take an xfs_mount * argument which will
be needed to determine the size of a btree block once we add support for
extended btree blocks with CRCs and other RAS information.


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

  Cleanup maxrecs calculation.

Revision 1.411 / (download) - annotate - [select for diffs], Wed Sep 24 16:33:20 2008 UTC (9 years ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.410: +8 -3 lines
Diff to previous 1.410 (unified)

add keys_inorder and recs_inorder btree methods

Add methods to check whether two keys/records are in the righ order.  This
replaces the xfs_btree_check_key and xfs_btree_check_rec methods.  For the
callers from xfs_bmap.c just opencode the bmbt-specific asserts.


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

  add keys_inorder and recs_inorder btree methods

Revision 1.410 / (download) - annotate - [select for diffs], Wed Sep 24 16:32:26 2008 UTC (9 years ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.409: +2 -2 lines
Diff to previous 1.409 (unified)

kill xfs_bmbt_log_block and xfs_bmbt_log_recs

These are equivalent to the xfs_btree_* versions, and the only remaining
caller can be switched to the generic one after they are exported.  Also
remove some now dead infrastructure in xfs_bmap_btree.c.


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

  kill xfs_bmbt_log_block and xfs_bmbt_log_recs

Revision 1.409 / (download) - annotate - [select for diffs], Wed Sep 24 16:30:40 2008 UTC (9 years ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.408: +7 -7 lines
Diff to previous 1.408 (unified)

implement generic xfs_btree_delete/delrec

Make the btree delete code generic.  Based on a patch from David Chinner
with lots of changes to follow the original btree implementations more
closely.  While this loses some of the generic helper routines for
inserting/moving/removing records it also solves some of the one off
bugs in the original code and makes it easier to verify.


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

  implement generic xfs_btree_delete/delrec

Revision 1.408 / (download) - annotate - [select for diffs], Wed Sep 24 16:28:47 2008 UTC (9 years ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.407: +10 -10 lines
Diff to previous 1.407 (unified)

implement generic xfs_btree_insert/insrec

Make the btree insert code generic.  Based on a patch from David Chinner
with lots of changes to follow the original btree implementations more
closely.  While this loses some of the generic helper routines for
inserting/moving/removing records it also solves some of the one off
bugs in the original code and makes it easier to verify.


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

  implement generic xfs_btree_insert/insrec

Revision 1.407 / (download) - annotate - [select for diffs], Wed Sep 24 16:27:52 2008 UTC (9 years ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.406: +1 -1 lines
Diff to previous 1.406 (unified)

move xfs_bmbt_newroot to common code

xfs_bmbt_newroot is a mostly generic implementation of moving from
an inode root to a real block based root.  So move it to xfs_btree.c
where it can use all the nice infrastructure there and make it pointer
size agnostic

The new name for it is xfs_btree_new_iroot, following the old naming
but making it clear we're dealing with the root in inode case here,
and to avoid confusion with xfs_btree_new_root which is used for the
not inode rooted case.


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

  move xfs_bmbt_newroot to common code

Revision 1.406 / (download) - annotate - [select for diffs], Wed Sep 24 16:23:35 2008 UTC (9 years ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.405: +18 -0 lines
Diff to previous 1.405 (unified)

implement generic xfs_btree_update

From: Dave Chinner <dgc@sgi.com>

The most complicated part here is the lastrec tracking for
the alloc btree.  Most logic is in the update_lastrec method
which has to do some hopefully good enough dirty magic to
maintain it.

[hch: split out from bigger patch and a rework of the lastrec
 logic]


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

  implement generic xfs_btree_update

Revision 1.405 / (download) - annotate - [select for diffs], Wed Sep 24 16:21:48 2008 UTC (9 years ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.404: +29 -0 lines
Diff to previous 1.404 (unified)

implement generic xfs_btree_lookup

From: Dave Chinner <dgc@sgi.com>

[hch: split out from bigger patch and minor adaptions]


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

  implement generic xfs_btree_lookup

Revision 1.404 / (download) - annotate - [select for diffs], Wed Sep 24 16:20:52 2008 UTC (9 years ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.403: +7 -7 lines
Diff to previous 1.403 (unified)

implement generic xfs_btree_decrement

From: Dave Chinner <dgc@sgi.com>

[hch: split out from bigger patch and minor adaptions]

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

  implement generic xfs_btree_decrement

Revision 1.403 / (download) - annotate - [select for diffs], Wed Sep 24 16:19:56 2008 UTC (9 years ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.402: +2 -2 lines
Diff to previous 1.402 (unified)

implement generic xfs_btree_increment

From: Dave Chinner <dgc@sgi.com>

Because this is the first major generic btree routine this patch
includes some infrastrucure, first a few routines to deal with
a btree block that can be either in short or long form, second
xfs_btree_read_buf_block, which is the new central routine to read
a btree block given a cursor, and third the new xfs_btree_ptr_addr
routine to calculate the address for a given btree pointer record.

[hch: split out from bigger patch and minor adaptions]

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

  implement generic xfs_btree_increment

Revision 1.402 / (download) - annotate - [select for diffs], Wed Sep 24 16:11:20 2008 UTC (9 years ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.401: +6 -11 lines
Diff to previous 1.401 (unified)

split up xfs_btree_init_cursor

xfs_btree_init_cursor contains close to little shared code for the different
btrees and will get even more non-common code in the future.  Split it up
into one routine per btree type.

Because xfs_btree_dup_cursor needs to call the init routine for a generic
btree cursor add a new btree operation vector that contains a dup_cursor
method that initializes a new cursor based on an existing one.

The btree operations vector is based on an idea and code from Dave Chinner
and will grow more entries later during this series.


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

  split up xfs_btree_init_cursor

Revision 1.401 / (download) - annotate - [select for diffs], Wed Aug 6 16:20:53 2008 UTC (9 years, 2 months ago) by donaldd.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.400: +7 -19 lines
Diff to previous 1.400 (unified)

Make xfs_bmap_*_count_leaves void.

xfs_bmap_count_leaves and xfs_bmap_disk_count_leaves always
return always 0, make them void.

Signed-off-by: Ruben Porras <ruben.porras@linworks.de>
Merge of xfs-linux-melb:xfs-kern:31844a by kenmcd.

  Make xfs_bmap_*_count_leaves void.

Revision 1.400 / (download) - annotate - [select for diffs], Fri Jul 25 06:13:14 2008 UTC (9 years, 2 months ago) by xaiki.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.399: +4 -0 lines
Diff to previous 1.399 (unified)

Undoes mod:     xfs-linux-melb:xfs-kern:31766a
Revert remove mounpoint UUID code

As spotted by dchinner and hch, this touches on-disk format and log format, should be more carefully reviewed.
Merge of xfs-linux-melb:xfs-kern:31773a by kenmcd.

Revision 1.399 / (download) - annotate - [select for diffs], Fri Jul 25 04:21:53 2008 UTC (9 years, 2 months ago) by xaiki.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.398: +0 -4 lines
Diff to previous 1.398 (unified)

remove mounpoint UUID code

It looks like all of the below is unused... and according
to Nathan,

"dont think it even got used/implemented anywhere, but i think it
was meant to be an auto-mount kinda thing... such that when you look
up at that point, it knows to mount the device with that uuid there,
if its not already it was never really written anywhere ... just an
idea in doug doucettes brain i think."

Think it'll ever go anywhere, or should it get pruned?

The below builds; not at all tested, until I get an idea if it's worth
doing.  Need to double check that some structures might not need padding
out to keep things compatible/consistent...
Merge of xfs-linux-melb:xfs-kern:31766a by kenmcd.

Revision 1.398 / (download) - annotate - [select for diffs], Fri Jul 25 04:19:49 2008 UTC (9 years, 2 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.397: +1 -1 lines
Diff to previous 1.397 (unified)

remove remaining VN_HOLD calls

Use IHOLD(ip) instead of VN_HOLD(VFS_I(ip)).


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

  remove remaining VN_HOLD calls

Revision 1.397 / (download) - annotate - [select for diffs], Thu Jul 24 15:42:45 2008 UTC (9 years, 2 months ago) by xaiki.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.396: +3 -3 lines
Diff to previous 1.396 (unified)

remove shouting-indirection macros  from xfs_trans.h

compile-tested, fairly easy to inspect with:

quilt diff --diff="diff -iu"

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

Revision 1.396 / (download) - annotate - [select for diffs], Wed Jul 23 16:34:13 2008 UTC (9 years, 2 months ago) by xaiki.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.395: +1 -1 lines
Diff to previous 1.395 (unified)

Kill shouty XFS_ITOV() macro

Replace XFS_ITOV() with the new VFS_I() inline.

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

Revision 1.395 / (download) - annotate - [select for diffs], Thu Jul 17 06:26:16 2008 UTC (9 years, 3 months ago) by tes.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.394: +2 -2 lines
Diff to previous 1.394 (unified)

A bug was found in xfs_bmap_add_extent_unwritten_real().
In a particular case, the delta param which is supposed to describe
the region where extents have changed was not updated appropriately.
Merge of xfs-linux-melb:xfs-kern:31663a by kenmcd.

  A bug was found in xfs_bmap_add_extent_unwritten_real().
  In a particular case, the delta param which is supposed to describe
  the region where extents have changed was not updated appropriately.

Revision 1.394 / (download) - annotate - [select for diffs], Fri Jun 20 16:19:53 2008 UTC (9 years, 3 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.393: +10 -3 lines
Diff to previous 1.393 (unified)

Always reset btree cursor after an insert

After a btree insert operation a cursor can be invalid due to block
splits and a maybe a new root block.  We reset the cursor in
xfs_bmbt_insert() in the cases where we think we need to but it
isn't enough as we still see assertions.  Just do what we do elsewhere
and reset the cursor unconditionally.  Also remove the fix to
revalidate the original cursor in xfs_bmbt_insert().
Merge of xfs-linux-melb:xfs-kern:31342a by kenmcd.

  Always reset btree cursor after an insert

Revision 1.393 / (download) - annotate - [select for diffs], Fri Jun 20 04:05:26 2008 UTC (9 years, 3 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.392: +51 -50 lines
Diff to previous 1.392 (unified)

Convert ASSERTs to XFS_WANT_CORRUPTED_GOTOs

ASSERTs are no good to us on a non-debug build so use XFS_WANT_CORRUPTED_GOTOs
to report extent btree corruption ASAP.
Merge of xfs-linux-melb:xfs-kern:31338a by kenmcd.

  Convert ASSERTs to XFS_WANT_CORRUPTED_GOTOs

Revision 1.392 / (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.391: +1 -1 lines
Diff to previous 1.391 (unified)

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.391 / (download) - annotate - [select for diffs], Mon Apr 21 06:17:24 2008 UTC (9 years, 5 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.390: +0 -1 lines
Diff to previous 1.390 (unified)

shrink mrlock_t

The writer field is not needed for non_DEBU builds so remove it.  While
we're at i also clean up the interface for is locked asserts to go
through and xfs_iget.c helper with an interface like the xfs_ilock
routines to isolated the XFS codebase from mrlock internals.  That way
we can kill mrlock_t entirely once rw_semaphores grow an islocked
facility.  Also remove unused flags to the ilock family of functions.


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

  shrink mrlock_t

Revision 1.390 / (download) - annotate - [select for diffs], Mon Apr 14 06:14:42 2008 UTC (9 years, 6 months ago) by tes.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.389: +10 -5 lines
Diff to previous 1.389 (unified)

xfs_bmap_compute_maxlevels should be based on di_forkoff instead of m_attr_offset

Fix up xfs_bmap_compute_maxlevels() to account for the case when we go
from using attr2 to using attr1. In that case attr1 will no longer necessarily
be at m_attr_offset>>3, but could be at a different value for di_forkoff.
Therefore, we return the worst case scenario using MINDBTPTRS and MINABTPTRS,
as this function is used for determining the maximum log space.
Merge of xfs-linux-melb:xfs-kern:30862a by kenmcd.

  Fix up xfs_bmap_compute_maxlevels() to account for the case when we go
  from using attr2 to using attr1. In that case attr1 will no longer necessarily
  be at m_attr_offset>>3, but could be at a different value for di_forkoff.
  Therefore, we return the worst case scenario using MINDBTPTRS and MINABTPTRS,
  as this function is used for determining the maximum log space.

Revision 1.389 / (download) - annotate - [select for diffs], Wed Apr 9 16:32:13 2008 UTC (9 years, 6 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.388: +1 -2 lines
Diff to previous 1.388 (unified)

xfs_bmap_adjacent() never returns an error.

Mark it void.
Merge of xfs-linux-melb:xfs-kern:30798a by kenmcd.

  Make xfs_bmap_adjacent() void.

Revision 1.388 / (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.387: +9 -9 lines
Diff to previous 1.387 (unified)

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.387 / (download) - annotate - [select for diffs], Wed Mar 26 15:25:15 2008 UTC (9 years, 6 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.386: +6 -9 lines
Diff to previous 1.386 (unified)

Prevent xfs_bmap_check_leaf_extents() from referencing unmapped memory.

While investigating the extent corruption bug I ran into this bug in
debug only code.  xfs_bmap_check_leaf_extents() loops through the leaf
blocks of the extent btree checking that every extent is entirely
before the next extent.  It also compares the last extent in the previous
block to the first extent in the current block when the previous block
has been released and potentially unmapped.  So take a copy of the last
extent instead of a pointer.  Also move the last extent check out of the
loop because we only need to do it once.
Merge of xfs-linux-melb:xfs-kern:30718a by kenmcd.

  Prevent xfs_bmap_check_leaf_extents() from referencing unmapped memory.

Revision 1.386 / (download) - annotate - [select for diffs], Tue Feb 26 03:25:34 2008 UTC (9 years, 7 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.385: +0 -2 lines
Diff to previous 1.385 (unified)

cleanup vnode use in xfs_bmap.c

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

  cleanup vnode use in xfs_bmap.c

Revision 1.385 / (download) - annotate - [select for diffs], Tue Feb 26 03:19:24 2008 UTC (9 years, 7 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.384: +1 -1 lines
Diff to previous 1.384 (unified)

cleanup vnode use in dmapi calls

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

  cleanup vnode use in dmapi calls

Revision 1.384 / (download) - annotate - [select for diffs], Fri Feb 22 03:05:49 2008 UTC (9 years, 7 months ago) by donaldd.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.383: +9 -9 lines
Diff to previous 1.383 (unified)

remove shouting-indirection macros from xfs_sb.h

Remove macro-to-small-function indirection from xfs_sb.h,
and remove some which are completely unused.

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

  remove shouting-indirection macros from xfs_sb.h

Revision 1.383 / (download) - annotate - [select for diffs], Wed Feb 6 05:18:18 2008 UTC (9 years, 8 months ago) by xaiki.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.382: +4 -0 lines
Diff to previous 1.382 (unified)

actually check error returned by xfs_flush_pages, clean up and bailout if fails.
Merge of xfs-linux-melb:xfs-kern:30462a by kenmcd.

  add proper error checking

Revision 1.382 / (download) - annotate - [select for diffs], Tue Nov 20 05:08:44 2007 UTC (9 years, 10 months ago) by tes.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.381: +2 -2 lines
Diff to previous 1.381 (unified)

Remove the BPCSHIFT and NB* based macros from XFS.

The BPCSHIFT based macros, btoc*, ctob*, offtoc* and ctooff
are either not used or don't need to be used.
The NDPP, NDPP, NBBY macros don't need to be used but instead
are replaced directly by PAGE_SIZE and PAGE_CACHE_SIZE
where appropriate.
Initial patch and motivation from Nicolas Kaiser.
Merge of xfs-linux-melb:xfs-kern:30096a by kenmcd.

  simplify and use PAGE_CACHE_SIZE

Revision 1.381 / (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.380: +2 -3 lines
Diff to previous 1.380 (unified)

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.380 / (download) - annotate - [select for diffs], Fri Nov 2 03:09:06 2007 UTC (9 years, 11 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.379: +3 -3 lines
Diff to previous 1.379 (unified)

Fix up sparse warnings.

These are mostly locking annotations, marking things static,
casts where needed and declaring stuff in header files.
Merge of xfs-linux-melb:xfs-kern:30002a by kenmcd.

  Fix up sparse warnings.

Revision 1.379 / (download) - annotate - [select for diffs], Fri Sep 21 06:16:14 2007 UTC (10 years ago) by donaldd.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.378: +3 -4 lines
Diff to previous 1.378 (unified)

Unwrap XFS_SB_LOCK.

Un-obfuscate XFS_SB_LOCK, remove XFS_SB_LOCK->mutex_lock->spin_lock
macros, call spin_lock directly, remove extraneous cookie
holdover from old xfs code, and change lock type to spinlock_t.

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

  Unwrap XFS_SB_LOCK

Revision 1.378 / (download) - annotate - [select for diffs], Fri Aug 24 16:04:16 2007 UTC (10 years, 1 month ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.377: +3 -1 lines
Diff to previous 1.377 (unified)

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.377 / (download) - annotate - [select for diffs], Fri Aug 24 16:03:11 2007 UTC (10 years, 1 month ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.376: +2 -4 lines
Diff to previous 1.376 (unified)

decontaminate vnode operations from behavior details

All vnode ops now take struct xfs_inode pointers and the behaviour
related glue is split out into methods of it's own.  This required
fixing xfs_create/mkdir/symlink to not mess with the inode pointer
but rather use a separate boolean for error handling.  Thanks to
Dave Chinner for that fix.


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

  convert vnode ops to take xfs_inode pointers and separate out
  behaviour related glue.

Revision 1.376 / (download) - annotate - [select for diffs], Mon Aug 6 15:41:08 2007 UTC (10 years, 2 months ago) by vapo.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.375: +3 -4 lines
Diff to previous 1.375 (unified)

pv 968690, author Christoph Hellwig <hch@lst.de>, rv vapo - remove unessecary vfs argument to DM_EVENT_ENABLED
Merge of xfs-linux-melb:xfs-kern:29340a by kenmcd.

  pv 968690, author Christoph Hellwig <hch@lst.de>, rv vapo - remove unessecary vfs argument to DM_EVENT_ENABLED

Revision 1.375 / (download) - annotate - [select for diffs], Thu Aug 2 16:07:02 2007 UTC (10 years, 2 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.374: +4 -4 lines
Diff to previous 1.374 (unified)

endianess annotations for xfs_bmbt_rec_t

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

  Add endian annotations for xfs_bmbt_rec_t operations.

Revision 1.374 / (download) - annotate - [select for diffs], Thu Aug 2 16:04:40 2007 UTC (10 years, 2 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.373: +29 -46 lines
Diff to previous 1.373 (unified)

split ondisk vs incore versions of xfs_bmbt_rec_t

currently xfs_bmbt_rec_t is used both for ondisk extents as well as
host-endian ones.  This patch adds a new xfs_bmbt_rec_host_t for the
native endian ones and cleans up the fallout. There have been various
endianess issues in the tracing / debug printf code that are fixed
by this patch.

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

  split ondisk vs incore versions of xfs_bmbt_rec_t

Revision 1.373 / (download) - annotate - [select for diffs], Tue Jul 24 06:15:02 2007 UTC (10 years, 2 months ago) by vapo.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.372: +40 -10 lines
Diff to previous 1.372 (unified)

hole not show when file is created with resvsp
Merge of xfs-linux-melb:xfs-kern:29211a by kenmcd.

  pv 967674, rv dgc - xfs_bmap doesn't show hole at EOF if the file is preallocated or with extent hint

Revision 1.372 / (download) - annotate - [select for diffs], Mon Jul 9 15:43:09 2007 UTC (10 years, 3 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.371: +114 -154 lines
Diff to previous 1.371 (unified)

Clean up function name handling in tracing code

Remove the hardcoded "fnames" for tracing, and just embed
them in tracing macros via __FUNCTION__.  Kills a lot of #ifdefs
too.

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

  Use __FUNCTION__ rather than hardcoded fnames for tracing.

Revision 1.371 / (download) - annotate - [select for diffs], Mon Jul 9 06:12:03 2007 UTC (10 years, 3 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.370: +62 -7 lines
Diff to previous 1.370 (unified)

Concurrent Multi-File Data Streams

In media spaces, video is often stored in a frame-per-file format.
When dealing with uncompressed realtime HD video streams in this format,
it is crucial that files do not get fragmented and that multiple files
a placed contiguously on disk.

When multiple streams are being ingested and played out at the same
time, it is critical that the filesystem does not cross the streams
and interleave them together as this creates seek and readahead
cache miss latency and prevents both ingest and playout from meeting
frame rate targets.

This patch set creates a "stream of files" concept into the allocator
to place all the data from a single stream contiguously on disk so
that RAID array readahead can be used effectively. Each additional
stream gets placed in different allocation groups within the
filesystem, thereby ensuring that we don't cross any streams. When
an AG fills up, we select a new AG for the stream that is not in
use.

The core of the functionality is the stream tracking - each inode
that we create in a directory needs to be associated with the
directories' stream. Hence every time we create a file, we look up
the directories' stream object and associate the new file with that
object.

Once we have a stream object for a file, we use the AG that the
stream object point to for allocations. If we can't allocate in that
AG (e.g. it is full) we move the entire stream to another AG. Other
inodes in the same stream are moved to the new AG on their next
allocation (i.e. lazy update).

Stream objects are kept in a cache and hold a reference on the
inode. Hence the inode cannot be reclaimed while there is an
outstanding stream reference. This means that on unlink we need to
remove the stream association and we also need to flush all the
associations on certain events that want to reclaim all unreferenced
inodes (e.g.  filesystem freeze).
Merge of xfs-linux-melb:xfs-kern:29096a by kenmcd.

  Concurrent Multi-File Data Streams feature check in.

Revision 1.370 / (download) - annotate - [select for diffs], Thu Jun 28 06:08:33 2007 UTC (10 years, 3 months ago) by tes.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.369: +2 -1 lines
Diff to previous 1.369 (unified)

Appease gcc in regards to "warning: 'rtx' is used uninitialized in this function".
Use the uninitialized_var() macro in xfs_bmap_rtalloc for this.

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

  Appease gcc in regards to "warning: 'rtx' is used uninitialized in this function".
  Use the uninitialized_var() macro in xfs_bmap_rtalloc for this.
  Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

Revision 1.369 / (download) - annotate - [select for diffs], Fri Jun 8 16:04:48 2007 UTC (10 years, 4 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.368: +7 -16 lines
Diff to previous 1.368 (unified)

Cleanup inode extent size hint extraction
Merge of xfs-linux-melb:xfs-kern:28866a by kenmcd.

  Use xfs_get_extsz_hint rather than open coded statements.

Revision 1.368 / (download) - annotate - [select for diffs], Mon Jun 4 15:39:11 2007 UTC (10 years, 4 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.367: +3 -3 lines
Diff to previous 1.367 (unified)

xfs_bmapi fails to update the previous extent pointer

When processing multiple extent maps, xfs_bmapi needs to keep
track of the extent behind the one it is currently working on
to be able to trim extent ranges correctly. Failing to update
the previous pointer can result in corrupted extent lists
in memory and this will result in panics or assert failures.

Update the previous pointer correctly when we move to the
next extent to process.
Merge of xfs-linux-melb:xfs-kern:28773a by kenmcd.

  Update the previous extent pointer correctly in xfs_bmapi.

Revision 1.367 / (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.366: +9 -5 lines
Diff to previous 1.366 (unified)

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.366 / (download) - annotate - [select for diffs], Sat Mar 3 02:57:44 2007 UTC (10 years, 7 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.365: +3 -7 lines
Diff to previous 1.365 (unified)

remove more misc. unused args

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

  remove more misc. unused args
  Signed-off-by: Eric Sandeen <sandeen@sandeen.net>

Revision 1.365 / (download) - annotate - [select for diffs], Fri Mar 2 02:59:33 2007 UTC (10 years, 7 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.364: +2 -2 lines
Diff to previous 1.364 (unified)

The last argument "lsn" of xfs_trans_commit() is always called with NULL.

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

  The last argument "lsn" of xfs_trans_commit() is always called with NULL.
  Signed-off-by: Eric Sandeen <sandeen@sandeen.net>

Revision 1.364 / (download) - annotate - [select for diffs], Wed Feb 7 02:51:56 2007 UTC (10 years, 8 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.363: +0 -36 lines
Diff to previous 1.363 (unified)

Remove a bunch of unused functions from XFS.

Patch provided by Eric Sandeen (sandeen@sandeen.net).
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Merge of xfs-linux-melb:xfs-kern:28038a by kenmcd.

  Remove unused functions.
  Signed-off-by: Eric Sandeen <sandeen@sandeen.net>

Revision 1.363 / (download) - annotate - [select for diffs], Wed Feb 7 02:51:06 2007 UTC (10 years, 8 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.362: +12 -23 lines
Diff to previous 1.362 (unified)

Remove unused arguments from the XFS_BTREE_*_ADDR macros.

It makes it incrementally clearer to read the code when the top of a macro
spaghetti-pile only receives the 3 arguments it uses, rather than 2 extra
ones which are not used.  Also when you start pulling this thread out of the
sweater (i.e. remove unused args from XFS_BTREE_*_ADDR), a couple other
third arms etc fall off too.  If they're not used in the macro, then they
sometimes don't need to be passed to the function calling the macro either,
etc....

Patch provided by Eric Sandeen (sandeen@sandeen.net).
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Merge of xfs-linux-melb:xfs-kern:28037a by kenmcd.

  Remove unused arguments from XFS_BTREE_*_ADDR macros.
  Signed-off-by: Eric Sandeen <sandeen@sandeen.net>

Revision 1.362 / (download) - annotate - [select for diffs], Tue Feb 6 14:35:53 2007 UTC (10 years, 8 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.361: +1 -2 lines
Diff to previous 1.361 (unified)

Remove unused argument to xfs_bmap_finish

The firstblock argument to xfs_bmap_finish is not used by
that function. Remove it and cleanup the code a bit.

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

  Remove unused firstblock argument from xfs_bmap_finish.
  Signed-off-by: Eric Sandeen <sandeen@sandeen.net>

Revision 1.361 / (download) - annotate - [select for diffs], Wed Jan 10 14:42:05 2007 UTC (10 years, 9 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.360: +13 -13 lines
Diff to previous 1.360 (unified)

Make growfs work for amounts greater than 2TB

The free block modification code has a 32bit interface, limiting
the size the filesystem can be grown even on 64 bit machines.
On 32 bit machines, there are other 32bit variables in transaction
structures and interfaces that need to be expanded to allow this
to work.
Merge of xfs-linux-melb:xfs-kern:27894a by kenmcd.

  Change free block modifications to use 64 bit type casts.

Revision 1.360 / (download) - annotate - [select for diffs], Thu Dec 21 02:50:36 2006 UTC (10 years, 9 months ago) by bnaujok.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.359: +1 -0 lines
Diff to previous 1.359 (unified)

Fix attr2 corruption with btree data extents
Merge of xfs-linux-melb:xfs-kern:27792a by kenmcd.

  Lock forkoff when data extent is in btree form.

Revision 1.359 / (download) - annotate - [select for diffs], Thu Nov 16 02:50:46 2006 UTC (10 years, 11 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.358: +2 -0 lines
Diff to previous 1.358 (unified)

Fix uninitialized br_state and br_startoff in xfs_bmap_add_extent_delay_real()
Merge of xfs-linux-melb:xfs-kern:27457a by kenmcd.

  Fix uninitialized br_state and br_startoff in xfs_bmap_add_extent_delay_real()

Revision 1.358 / (download) - annotate - [select for diffs], Wed Aug 30 03:58:39 2006 UTC (11 years, 1 month ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.357: +1 -1 lines
Diff to previous 1.357 (unified)

Fix char size overflow in bmap_alloc call for unwritten extent conversion.

Since bma.conv is a char and XFS_BMAPI_CONVERT is 0x1000, bma.conv was
always assigned zero.  Spotted by the GNU C compiler (SVN version).

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

  Since bma.conv is a char and XFS_BMAPI_CONVERT is 0x1000, bma.conv was
  always assigned zero.  Spotted by the GNU C compiler (SVN version).

Revision 1.357 / (download) - annotate - [select for diffs], Fri Aug 18 04:02:25 2006 UTC (11 years, 2 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.356: +15 -12 lines
Diff to previous 1.356 (unified)

Improve error handling for the zero-fsblock extent detection code.
Merge of xfs-linux-melb:xfs-kern:26802a by kenmcd.

Revision 1.356 / (download) - annotate - [select for diffs], Fri Aug 4 13:21:19 2006 UTC (11 years, 2 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.355: +1 -1 lines
Diff to previous 1.355 (unified)

endianess annotations for xfs_bmbt_key
Trivial as there are no incore users.

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

  endianess annotations for xfs_bmbt_key

Revision 1.355 / (download) - annotate - [select for diffs], Fri Aug 4 13:20:29 2006 UTC (11 years, 2 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.354: +30 -31 lines
Diff to previous 1.354 (unified)

endianess annotate XFS_BMAP_BROOT_PTR_ADDR
Make sure it returns a __be64 and let the callers use the proper macros.

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

  endianess annotate XFS_BMAP_BROOT_PTR_ADDR
  Make sure it returns a __be64 and let the callers use the proper macros.

Revision 1.354 / (download) - annotate - [select for diffs], Fri Aug 4 13:18:57 2006 UTC (11 years, 2 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.353: +1 -1 lines
Diff to previous 1.353 (unified)

add xfs_btree_check_lptr_disk variant which handles endian conversion

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

  add xfs_btree_check_lptr_disk variant which handles endian conversion

Revision 1.353 / (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.352: +4 -4 lines
Diff to previous 1.352 (unified)

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

Revision 1.352 / (download) - annotate - [select for diffs], Thu Jun 15 03:56:04 2006 UTC (11 years, 4 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.351: +1 -1 lines
Diff to previous 1.351 (unified)

Remove an incorrect use of unlikely() on a relatively likely code path.
Merge of xfs-linux-melb:xfs-kern:26249a by kenmcd.

Revision 1.351 / (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.350: +2 -2 lines
Diff to previous 1.350 (unified)

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

Revision 1.350 / (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.349: +2 -2 lines
Diff to previous 1.349 (unified)

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.349 / (download) - annotate - [select for diffs], Tue May 23 19:28:08 2006 UTC (11 years, 4 months ago) by yingping
Branch: MAIN
Changes since 1.348: +4 -1 lines
Diff to previous 1.348 (unified)

In actual allocation of file system blocks and freeing extents, the transaction
within each such operation may involve multiple locking of AGF buffer. While the
freeing extent function has sorted the extents based on AGF number before entering
into transaction, however, when the file system space is very limited, the allocation
of space would try every AGF to get space allocated, this could potentially cause
out-of-order locking, thus deadlock could happen. This fix mitigates the scarce space
for allocation by setting aside a few blocks without reservation, and avoid deadlock
by maintaining ascending order of AGF locking.
Ensure no out-of-order locking of AGF in specifying allocation type for calling 
xfs_alloc_vextent.

Revision 1.348 / (download) - annotate - [select for diffs], Thu Apr 13 10:13:05 2006 UTC (11 years, 6 months ago) by olaf
Branch: MAIN
Changes since 1.347: +282 -81 lines
Diff to previous 1.347 (unified)

Add parameters to xfs_bmapi() and xfs_bunmapi() to have them
report the range spanned by modifications to the in-core extent
map.  Add XFS_BUNMAPI() and XFS_SWAP_EXTENTS() macros that call
xfs_bunmapi() and xfs_swap_extents() via the ioops vector.
Change all calls that may modify the in-core extent map for the
data fork to go through the ioops vector.  This allows a cache
of extent map data to be kept in sync.
Add parameter to xfs_bmapi() and xfs_bunmapi() and their helper functions
which change the in-core extent list.  If not NULL, on return from
xfs_bmapi()/xfs_bunmapi() the value will be the offset and range covered
by any changes made to the in-core extent list, measured in blocks, and
rounded to extent boundaries.
Rewrite xfs_bmap_add_extent_hole_real() to remove exits from the middle
of the function.

Revision 1.347 / (download) - annotate - [select for diffs], Fri Mar 31 03:50:40 2006 UTC (11 years, 6 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.346: +5 -6 lines
Diff to previous 1.346 (unified)

Make project quota enforcement return an error code consistent with its use.
Merge of xfs-linux-melb:xfs-kern:25633a by kenmcd.

Revision 1.346 / (download) - annotate - [select for diffs], Tue Mar 28 23:50:15 2006 UTC (11 years, 6 months ago) by alkirkco
Branch: MAIN
Changes since 1.345: +0 -107 lines
Diff to previous 1.345 (unified)

Remove unused/obsoleted function: xfs_bmap_do_search_extents()
Remove obsoleted function: xfs_bmap_do_search_extents()

Revision 1.345 / (download) - annotate - [select for diffs], Tue Mar 14 21:49:17 2006 UTC (11 years, 7 months ago) by alkirkco
Branch: MAIN
Changes since 1.344: +30 -27 lines
Diff to previous 1.344 (unified)

There are a few problems with the new xfs_bmap_search_multi_extents()
wrapper function that I introduced in mod xfs-linux:xfs-kern:207393a.
The function was added as a wrapper around xfs_bmap_do_search_extents()
to avoid breaking the top-of-tree CXFS interface.  The idea of the
function was basically to extract the target extent buffer (if muli-
level extent allocation mode), then call xfs_bmap_do_search_extents()
with either a pointer to the first extent in the target buffer or a
pointer to the first extent in the file, depending on which extent
mode was being used.  However, in addition to locating the target
extent record for block bno, xfs_bmap_do_search_extents() also sets
four parameters needed by the caller: *lastx, *eofp, *gotp, *prevp.

Passing only the target extent buffer to xfs_bmap_do_search_extents()
causes *eofp to be set incorrectly if the extent is at the end of the
target list but there are actually more extents in the next er_extbuf.
Likewise, if the extent is the first one in the buffer but NOT the
first in the file, *prevp is incorrectly set to NULL.  Adding the
needed functionality to xfs_bmap_search_multi_extents() to re-set
any incorrectly set fields is redundant and makes the call to
xfs_bmap_do_search_extents() not make much sense when multi-level
extent allocation mode is being used.

This mod basically extracts the two functional components from
xfs_bmap_do_search_extents(), with the intent of obsoleting/removing
xfs_bmap_do_search_extents() after the CXFS mult-level in-core extent
changes are checked in.  The two components are:  1) The binary search
to locate the target extent record, and 2) Setting the four parameters
needed by the caller (*lastx, *eofp, *gotp, *prevp).

Component 1:
I created a new function in xfs_inode.c called xfs_iext_bno_to_ext(),
which executes the binary search to find the target extent record.
xfs_bmap_search_multi_extents() has been modified to call
xfs_iext_bno_to_ext() rather than xfs_bmap_do_search_extents().

Component 2:
The parameter setting functionality has been added to
xfs_bmap_search_multi_extents(), eliminating the need for
xfs_bmap_do_search_extents().

These changes make the removal of xfs_bmap_do_search_extents() trival
once the CXFS changes are in place.  They also allow us to maintain
the current XFS interface, using the new search function introduced
in mod xfs-linux:xfs-kern:207393a.
Modify xfs_bmap_search_multi_extents() to call the new
xfs_iext_bno_to_ext() binary search function, then set the four
parameters needed by the caller.  Remove the call to
xfs_bmap_do_search_extents(), which will eventually be removed.

Revision 1.344 / (download) - annotate - [select for diffs], Thu Mar 9 01:18:06 2006 UTC (11 years, 7 months ago) by alkirkco
Branch: MAIN
Changes since 1.343: +2 -2 lines
Diff to previous 1.343 (unified)

Fix assert to check that in-core extents are inline only.
Fix assert to check that in-core extents are inline only.

Revision 1.343 / (download) - annotate - [select for diffs], Mon Mar 6 02:47:32 2006 UTC (11 years, 7 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.342: +345 -323 lines
Diff to previous 1.342 (unified)

Reduce stack usage within xfs_bmapi by rearranging some code, splitting realtime/btree allocators apart.  Based on Glens original patches.
Merge of xfs-linux-melb:xfs-kern:25372a by kenmcd.

Revision 1.342 / (download) - annotate - [select for diffs], Mon Mar 6 02:46:02 2006 UTC (11 years, 7 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.341: +37 -42 lines
Diff to previous 1.341 (unified)

Reduce xfs_bmapi stack use by removing some local state variables, and directly testing flags instead.
Merge of xfs-linux-melb:xfs-kern:25370a by kenmcd.

Revision 1.341 / (download) - annotate - [select for diffs], Fri Mar 3 00:40:32 2006 UTC (11 years, 7 months ago) by alkirkco
Branch: MAIN
Changes since 1.340: +51 -8 lines
Diff to previous 1.340 (unified)

This mod introduces multi-level in-core file extent functionality,
building upon the new layout introduced in mod xfs-linux:xfs-kern:207390a.

The new multi-level extent allocations are only required for heavily
fragmented files, so the old-style linear extent list is used on files
until the extents reach a pre-determined size of 4k. 4k buffers are
used because this is the system page size on Linux i386 and systems
with larger page sizes don't seem to gain much, if anything, by using
their native page size as the extent buffer size. Also, using 4k extent
buffers everywhere provides a consistent interface for CXFS across
different platforms.

The 4k extent buffers are managed by an indirection array (xfs_ext_irec_t)
which is basically just a pointer array with a bit of extra information
to keep track of the number of extents in each buffer as well as the
extent offset of each buffer.

Major changes include:

- Add multi-level in-core file extent functionality to the xfs_iext_
  subroutines introduced in mod:  xfs-linux:xfs-kern:207390a

- Introduce 13 new subroutines which add functionality for multi-level
  in-core file extents:
        xfs_iext_add_indirect_multi()
        xfs_iext_remove_indirect()
        xfs_iext_realloc_indirect()
        xfs_iext_indirect_to_direct()
        xfs_iext_bno_to_irec()
        xfs_iext_idx_to_irec()
        xfs_iext_irec_init()
        xfs_iext_irec_new()
        xfs_iext_irec_remove()
        xfs_iext_irec_compact()
        xfs_iext_irec_compact_pages()
        xfs_iext_irec_compact_full()
        xfs_iext_irec_update_extoffs()
- Add a new subroutine called xfs_bmap_search_multi_extents(), which locates
  the target extent buffer, if in multi-level allocation mode, then calls
  xfs_bmap_do_search_extents() with either the target extent list or the
  direct extent list (depending on which allocation mode is being used).
- Modify xfs_bmap_search_extents() to call xfs_bmap_search_multi_extents()
  rather than xfs_bmap_do_search_extents().

Revision 1.340 / (download) - annotate - [select for diffs], Thu Mar 2 23:08:14 2006 UTC (11 years, 7 months ago) by alkirkco
Branch: MAIN
Changes since 1.339: +219 -277 lines
Diff to previous 1.339 (unified)

This mod re-organizes some of the in-core file extent code to prepare
for an upcoming mod which will introduce multi-level in-core extent
allocations. Although the in-core extent management is using a new
code path in this mod, the functionality remains the same.

Major changes include:

- Introduce 10 new subroutines which re-orgainze the existing code but
  do NOT change functionality:
        xfs_iext_get_ext()
        xfs_iext_insert()
        xfs_iext_add()
        xfs_iext_remove()
        xfs_iext_remove_inline()
        xfs_iext_remove_direct()
        xfs_iext_realloc_direct()
        xfs_iext_direct_to_inline()
        xfs_iext_inline_to_direct()
        xfs_iext_destroy()
- Remove 2 subroutines (functionality moved to new subroutines above):
        xfs_iext_realloc() -replaced by xfs_iext_add() and xfs_iext_remove()
        xfs_bmap_insert_exlist() - replaced by xfs_iext_insert()
        xfs_bmap_delete_exlist() - replaced by xfs_iext_remove()
- Replace all hard-coded (indexed) extent assignments with a call to
  xfs_iext_get_ext()
- Replace all extent record pointer arithmetic (ep++, ep--, base + lastx,..)
  with calls to xfs_iext_get_ext()
- Update comments to remove the idea of a single "extent list" and
  introduce "extent record" terminology instead
- Replace indexed extent assignments with calls to xfs_iext_get_ext()
- Remove xfs_bmap_insert_exlist() and xfs_bmap_delete_exlist() and
  replace all calls by xfs_iext_insert() and xfs_iext_remove(),
  respectively.
- Update documentation and replace "extent list" terminology with
  "extent record"

Revision 1.339 / (download) - annotate - [select for diffs], Thu Jan 12 02:43:50 2006 UTC (11 years, 9 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.338: +2 -2 lines
Diff to previous 1.338 (unified)

Merge in trivial changes, sync up headers with userspace equivalents.
Merge of xfs-linux-melb:xfs-kern:24961a by kenmcd.

Revision 1.338 / (download) - annotate - [select for diffs], Fri Dec 2 02:48:45 2005 UTC (11 years, 10 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.337: +12 -11 lines
Diff to previous 1.337 (unified)

Sort out cosmetic differences between user and kernel copies of some sources.
Merge of xfs-linux-melb:xfs-kern:24659a by kenmcd.

Revision 1.337 / (download) - annotate - [select for diffs], Wed Nov 30 03:28:58 2005 UTC (11 years, 10 months ago) by nathans
Branch: MAIN
Changes since 1.336: +6 -6 lines
Diff to previous 1.336 (unified)

Reverse the sense of COMPAT_ATTR and ATTR2, keeps it simple and consistent.

Revision 1.336 / (download) - annotate - [select for diffs], Fri Nov 11 14:16:20 2005 UTC (11 years, 11 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.335: +231 -142 lines
Diff to previous 1.335 (unified)

Implement the di_extsize allocator hint for non-realtime files as well.  Also provides a mechanism for inheriting this property from the parent directory for new files.
Merge of xfs-linux-melb:xfs-kern:24367a by kenmcd.

Revision 1.335 / (download) - annotate - [select for diffs], Fri Oct 21 18:08:47 2005 UTC (11 years, 11 months ago) by hch
Branch: MAIN
Changes since 1.334: +31 -31 lines
Diff to previous 1.334 (unified)

Endianess annotations for various allocator data structures

Revision 1.334 / (download) - annotate - [select for diffs], Tue Oct 18 20:49:24 2005 UTC (12 years ago) by yingping
Branch: MAIN
Changes since 1.333: +23 -1 lines
Diff to previous 1.333 (unified)

Fixing size report discrepancy between ls and du caused by xfs_fsr
Added a new function xfs_bmap_disk_count_leaves so that function xfs_bmap_count_leaves counts the blocks in extent format, while function xfs_bmap_disk_count_leaves handles counting blocks in btree format of the attribute fork.

Revision 1.333 / (download) - annotate - [select for diffs], Tue Oct 18 17:14:26 2005 UTC (12 years ago) by yingping
Branch: MAIN
Changes since 1.332: +7 -6 lines
Diff to previous 1.332 (unified)

Fixed a bug in reporting extent list for attribute fork running xfs_bmap -a.
Fixed a bug in reporting extent list for attribute fork running xfs_bmap -a.

Revision 1.332 / (download) - annotate - [select for diffs], Mon Sep 26 15:00:54 2005 UTC (12 years ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.331: +6 -5 lines
Diff to previous 1.331 (unified)

Fix up a 32/64 local flags variable issue when enabling attr2 mode.
Merge of xfs-linux-melb:xfs-kern:23925a by kenmcd.

Revision 1.331 / (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.330: +12 -26 lines
Diff to previous 1.330 (unified)

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

Revision 1.330 / (download) - annotate - [select for diffs], Fri Sep 23 03:48:50 2005 UTC (12 years ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.329: +11 -13 lines
Diff to previous 1.329 (unified)

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

Revision 1.329 / (download) - annotate - [select for diffs], Fri Sep 16 15:10:21 2005 UTC (12 years, 1 month ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.328: +66 -18 lines
Diff to previous 1.328 (unified)

Ondisk format extension for extended attributes (attr2).  Basically, the data/attr forks now grow up/down from either end of the literal area, rather than dividing the literal area into two chunks and growing both upward.  Means we can now make much more efficient use of the attribute space, incl. fitting DMF attributes inline in 256 byte inodes, and large jumps in dbench3 performance numbers.  It is self enabling, but can be forced on/off via the attr2/noattr2 mount options.
Merge of xfs-linux-melb:xfs-kern:23835a by kenmcd.

Revision 1.328 / (download) - annotate - [select for diffs], Fri Sep 16 15:09:30 2005 UTC (12 years, 1 month ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.327: +0 -0 lines
Diff to previous 1.327 (unified)

Ondisk format extension for extended attributes (attr2).  Basically, the data/attr forks now grow up/down from either end of the literal area, rather than dividing the literal area into two chunks and growing both upward.  Means we can now make much more efficient use of the attribute space, incl. fitting DMF attributes inline in 256 byte inodes, and large jumps in dbench3 performance numbers.  It is self enabling, but can be forced on/off via the attr2/noattr2 mount options.
Merge of xfs-linux-melb:xfs-kern:23834a by kenmcd.

Revision 1.327 / (download) - annotate - [select for diffs], Mon Sep 5 12:36:32 2005 UTC (12 years, 1 month ago) by hch
Branch: MAIN
Changes since 1.326: +1 -1 lines
Diff to previous 1.326 (unified)

Add format checking to cmn_err and icmn_err

Revision 1.326 / (download) - annotate - [select for diffs], Fri Jun 24 15:04:47 2005 UTC (12 years, 3 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.325: +11 -1 lines
Diff to previous 1.325 (unified)

Prevent the incore superblock sb_fdblocks count from leaking
when we are getting ENOSPC errors on writes. When we fail to
allocate space for indirect blocks in xfs_bmapi() make sure
we release the direct block allocation before returning.
Merge of xfs-linux-melb:xfs-kern:22986a by kenmcd.

  If we fail to allocate space for indirect blocks in xfs_bmapi(),
  make sure we release the direct block allocation before returning.

Revision 1.325 / (download) - annotate - [select for diffs], Mon Jun 20 03:44:04 2005 UTC (12 years, 3 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.324: +64 -48 lines
Diff to previous 1.324 (unified)

Merge fixes into realtime quota code, since one/two reported, still not enabled though.
Merge of xfs-linux-melb:xfs-kern:22900a by kenmcd.

Revision 1.324 / (download) - annotate - [select for diffs], Wed May 18 09:29:33 2005 UTC (12 years, 5 months ago) by hch
Branch: MAIN
Changes since 1.323: +14 -1 lines
Diff to previous 1.323 (unified)

mark various symbols static

Patch from Adrian Bunk

Revision 1.323 / (download) - annotate - [select for diffs], Fri Jan 14 11:57:33 2005 UTC (12 years, 9 months ago) by hch
Branch: MAIN
Changes since 1.322: +1 -1 lines
Diff to previous 1.322 (unified)

Remove INT_ZERO and INT_ISZERO
0 is 0 in all endianess variant.  No need for INT_ZERO and INT_ISZERO

Revision 1.322 / (download) - annotate - [select for diffs], Tue Aug 24 19:10:03 2004 UTC (13 years, 1 month ago) by hch
Branch: MAIN
Changes since 1.321: +12 -11 lines
Diff to previous 1.321 (unified)

Fix warnings in xfs_bmap.c
very long constants need a LL postfix

Revision 1.321 / (download) - annotate - [select for diffs], Fri Aug 13 05:31:26 2004 UTC (13 years, 2 months ago) by nathans
Branch: MAIN
Changes since 1.320: +5 -5 lines
Diff to previous 1.320 (unified)

Use sparse whitespace approach that Al took to be more consistent.  Couple more sparse fixes.

Revision 1.320 / (download) - annotate - [select for diffs], Thu Aug 5 17:37:52 2004 UTC (13 years, 2 months ago) by arunr
Branch: MAIN
Changes since 1.319: +1 -1 lines
Diff to previous 1.319 (unified)

Correct copyright details.
Correct copyright dates.

Revision 1.319 / (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.318: +26 -1 lines
Diff to previous 1.318 (unified)

Code checks to trap access to fsb zero.
Initialized extent entry structure in bmap_do_search_extents.
Added checks to trap access to block zero in xfs_bmap_search_extents.

Revision 1.318 / (download) - annotate - [select for diffs], Mon Jun 28 10:03:43 2004 UTC (13 years, 3 months ago) by nathans
Branch: MAIN
Changes since 1.317: +3 -3 lines
Diff to previous 1.317 (unified)

sparse: annotate source for user pointers.  From Chris Wedgwood.

Revision 1.317 / (download) - annotate - [select for diffs], Tue Jun 22 23:11:39 2004 UTC (13 years, 3 months ago) by overby
Branch: MAIN
Changes since 1.316: +34 -1 lines
Diff to previous 1.316 (unified)

Permit buffered writes to the real-time subvolume.

Add transaction space reservation of real-time subvolume extents, and split
out the space reservation for what is metadata and what is user data, putting
the user data on the real-time when appropriate.

Revision 1.316 / (download) - annotate - [select for diffs], Fri May 21 03:30:22 2004 UTC (13 years, 4 months ago) by nathans
Branch: MAIN
Changes since 1.315: +0 -58 lines
Diff to previous 1.315 (unified)

Remove xfs_swappable code, its not useful on Linux.

Revision 1.315 / (download) - annotate - [select for diffs], Tue May 18 15:41:26 2004 UTC (13 years, 5 months ago) by roehrich
Branch: MAIN
Changes since 1.314: +4 -4 lines
Diff to previous 1.314 (unified)

Switch all XFSDEBUG to DEBUG

Revision 1.314 / (download) - annotate - [select for diffs], Mon Oct 27 06:14:00 2003 UTC (13 years, 11 months ago) by nathans
Branch: MAIN
Changes since 1.313: +17 -17 lines
Diff to previous 1.313 (unified)

Fix warnings when tracing enabled on 64 bit platforms
Merge of 2.4.x-xfs-kern:slinx:160622a by nathans.

Revision 1.313 / (download) - annotate - [select for diffs], Mon Oct 20 04:21:43 2003 UTC (14 years ago) by nathans
Branch: MAIN
Changes since 1.312: +6 -7 lines
Diff to previous 1.312 (unified)

Fix build with tracing enabled, couple of portability macros, move externs into headers.

Revision 1.312 / (download) - annotate - [select for diffs], Tue Oct 7 21:21:22 2003 UTC (14 years ago) by lord
Branch: MAIN
Changes since 1.311: +2 -2 lines
Diff to previous 1.311 (unified)

switch xfs to use linux imode flags internally

Revision 1.311 / (download) - annotate - [select for diffs], Tue Sep 23 21:43:35 2003 UTC (14 years ago) by roehrich
Branch: MAIN
CVS Tags: DELETE-570
Changes since 1.310: +1 -1 lines
Diff to previous 1.310 (unified)

Make dm_send_data_event use vp rather than bhv
Merge of 2.4.x-xfs-kern:slinx:158840a by roehrich.

  Make dm_send_data_event use vp rather than bhv

Revision 1.310 / (download) - annotate - [select for diffs], Mon Sep 8 03:47:34 2003 UTC (14 years, 1 month ago) by sandeen
Branch: MAIN
Changes since 1.309: +0 -1 lines
Diff to previous 1.309 (unified)

remove doubly-included header files

Revision 1.309 / (download) - annotate - [select for diffs], Thu Aug 21 19:47:57 2003 UTC (14 years, 1 month ago) by sandeen
Branch: MAIN
Changes since 1.308: +8 -8 lines
Diff to previous 1.308 (unified)

Re-work xfs stats macros to support per-cpu data

Revision 1.308 / (download) - annotate - [select for diffs], Tue Aug 12 06:48:48 2003 UTC (14 years, 2 months ago) by nathans
Branch: MAIN
Changes since 1.307: +1 -1 lines
Diff to previous 1.307 (unified)

Use xfs_dev_t size rather than dev_t size in xfs_attr_fork initialization

Revision 1.307 / (download) - annotate - [select for diffs], Tue Jul 29 00:04:41 2003 UTC (14 years, 2 months ago) by nathans
Branch: MAIN
Changes since 1.306: +13 -13 lines
Diff to previous 1.306 (unified)

Change any references to legal/illegal into valid/invalid - apparently this was bad, mkaay?

Revision 1.306 / (download) - annotate - [select for diffs], Thu Jul 10 01:54:38 2003 UTC (14 years, 3 months ago) by nathans
Branch: MAIN
Changes since 1.305: +2 -2 lines
Diff to previous 1.305 (unified)

Correct the maxbytes sb value for non-pagesize filesystem block sizes, and all uses of max file size constant within XFS

Revision 1.305 / (download) - annotate - [select for diffs], Fri Jun 27 18:04:26 2003 UTC (14 years, 3 months ago) by cattelan
Branch: MAIN
Changes since 1.304: +6247 -0 lines
Diff to previous 1.304 (unified)

The Big Move
linux/fs/xfs/xfs_bmap.c 1.303 Renamed to xfs_bmap.c

Revision 1.304 / (download) - annotate - [select for diffs], Fri Jun 27 17:57:21 2003 UTC (14 years, 3 months ago) by cattelan
Branch: MAIN
CVS Tags: DENUKE
Changes since 1.303: +0 -6247 lines
Diff to previous 1.303 (unified)

Nuke

Revision 1.303 / (download) - annotate - [select for diffs], Thu May 1 16:22:06 2003 UTC (14 years, 5 months ago) by cattelan
Branch: MAIN
CVS Tags: XFS-1_3_0pre1
Changes since 1.302: +38 -1 lines
Diff to previous 1.302 (unified)

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.302 / (download) - annotate - [select for diffs], Tue Apr 15 23:16:46 2003 UTC (14 years, 6 months ago) by cattelan
Branch: MAIN
Changes since 1.301: +140 -141 lines
Diff to previous 1.301 (unified)

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

Revision 1.301 / (download) - annotate - [select for diffs], Mon Mar 17 06:02:57 2003 UTC (14 years, 7 months ago) by nathans
Branch: MAIN
Changes since 1.300: +56 -93 lines
Diff to previous 1.300 (unified)

Separate the quota source into its own subdirectory ala dmapi.
Push a bunch of quota- and dmapi-specific code down into these
subdirs which previously was compiled into the core XFS code,
and don't descend into these subdirs if options config'd off.
Separate the quota source into its own subdirectory ala dmapi.
Push a bunch of quota- and dmapi-specific code down into these
subdirs which previously was compiled into the core XFS code,
and don't descend into these subdirs if options config'd off.

Revision 1.300 / (download) - annotate - [select for diffs], Tue Mar 4 20:15:43 2003 UTC (14 years, 7 months ago) by overby
Branch: MAIN
Changes since 1.299: +45 -35 lines
Diff to previous 1.299 (unified)

Add error reporting calls in error paths that return EFSCORRUPTED
Merge of irix6.5f:irix:136445a by sandeen.

  Merge of grove2-6520stage:irix:136445a by roehrich.
  Merge of grove2:irix:136445a by roehrich.
  Add error reporting calls in error paths that return EFSCORRUPTED

Revision 1.299 / (download) - annotate - [select for diffs], Tue Feb 25 15:39:36 2003 UTC (14 years, 7 months ago) by lord
Branch: MAIN
Changes since 1.298: +12 -20 lines
Diff to previous 1.298 (unified)

remove a couple more sync transactions from xfs
take more advantage of the async transaction code, and do not
mark transactions which move extents from a block to in
inode format synchronous

Revision 1.298 / (download) - annotate - [select for diffs], Tue Feb 11 16:19:00 2003 UTC (14 years, 8 months ago) by hch
Branch: MAIN
Changes since 1.297: +1 -1 lines
Diff to previous 1.297 (unified)

Contrinuted fix from elenstev@mesatop.com, fix a comment typo.
spell separately right

Revision 1.297 / (download) - annotate - [select for diffs], Mon Dec 2 01:18:39 2002 UTC (14 years, 10 months ago) by nathans
Branch: MAIN
Changes since 1.296: +55 -76 lines
Diff to previous 1.296 (unified)

Cleanup after initially investigating unwritten extents.
Set bmv_oflags flag BMV_OF_PREALLOC when the extent is unwritten (was
IRIX mod irix6.5m:irix:120255a originally, not yet merged).  Cleanup
this code formatting a bit, it was all over the show.

Revision 1.296 / (download) - annotate - [select for diffs], Wed Oct 23 04:21:07 2002 UTC (14 years, 11 months ago) by kaos
Branch: MAIN
Changes since 1.295: +56 -56 lines
Diff to previous 1.295 (unified)

Undoes mod:     2.4.x-xfs:slinx:130826a
Revert STATIC->static change

Revision 1.295 / (download) - annotate - [select for diffs], Wed Oct 23 03:54:05 2002 UTC (14 years, 11 months ago) by kaos
Branch: MAIN
Changes since 1.294: +56 -56 lines
Diff to previous 1.294 (unified)

Replace STATIC with static in xfs code

Revision 1.294 / (download) - annotate - [select for diffs], Thu Oct 10 19:09:44 2002 UTC (15 years ago) by lord
Branch: MAIN
Changes since 1.293: +16 -12 lines
Diff to previous 1.293 (unified)

Switch xfs from using a big endian internal representation for
the in memory copy of extents to a host byte order representation.
The internal extents are read in once, then modified seperately
from the on disk ones. Since we search and manipulate the extents
multiple times, it is cheaper to convert them to host byte order
once and then keep them in that format. Worth about 5 to 10%
reduction in cpu time for some loads. Complicated by the fact
that the in memory extents are written out to the log sometimes,
and when expanding extents are used to write out the initial
block of extents.
endian flip extents when reading in from disk, and when
going from in inode extents to a leaf block of extents.

Revision 1.293 / (download) - annotate - [select for diffs], Wed Oct 9 03:06:48 2002 UTC (15 years ago) by nathans
Branch: MAIN
Changes since 1.292: +6 -6 lines
Diff to previous 1.292 (unified)

Global search and replace of the b* memory routines to their mem* equivalents.
(bcopy->memcopy, ovbcopy->memmove, bzero->memset, bcmp->memcmp).

Revision 1.292 / (download) - annotate - [select for diffs], Wed Oct 2 20:15:57 2002 UTC (15 years ago) by lord
Branch: MAIN
Changes since 1.291: +0 -60 lines
Diff to previous 1.291 (unified)

remove some 'temporary debugging code' which has been there a
couple of years at least.
remove extra checks in extent code which were always executed.

Revision 1.291 / (download) - annotate - [select for diffs], Wed Sep 4 20:22:39 2002 UTC (15 years, 1 month ago) by sandeen
Branch: MAIN
Changes since 1.290: +2 -2 lines
Diff to previous 1.290 (unified)

remove copyin/copyout

Revision 1.290 / (download) - annotate - [select for diffs], Fri Aug 16 06:16:21 2002 UTC (15 years, 2 months ago) by nathans
Branch: MAIN
Changes since 1.289: +5 -3 lines
Diff to previous 1.289 (unified)

Fix warnings Keith points out from an IA64 kernel build.

Revision 1.289 / (download) - annotate - [select for diffs], Wed Jul 31 21:19:39 2002 UTC (15 years, 2 months ago) by lord
Branch: MAIN
Changes since 1.288: +1 -1 lines
Diff to previous 1.288 (unified)

move from xfs_zone back to kmem_zone

Revision 1.288 / (download) - annotate - [select for diffs], Tue Jul 23 16:35:37 2002 UTC (15 years, 2 months ago) by sandeen
Branch: MAIN
Changes since 1.287: +1 -4 lines
Diff to previous 1.287 (unified)

remove unused xfs_bmapi vars

Revision 1.287 / (download) - annotate - [select for diffs], Fri Jul 12 16:42:01 2002 UTC (15 years, 3 months ago) by lord
Branch: MAIN
Changes since 1.286: +0 -22 lines
Diff to previous 1.286 (unified)

Remove ifdefs for BMBT_USE_64

Revision 1.286 / (download) - annotate - [select for diffs], Wed Jul 10 19:00:42 2002 UTC (15 years, 3 months ago) by sandeen
Branch: MAIN
Changes since 1.285: +271 -271 lines
Diff to previous 1.285 (unified)

whitespace cleanup

Revision 1.285 / (download) - annotate - [select for diffs], Tue Jul 9 20:20:34 2002 UTC (15 years, 3 months ago) by sandeen
Branch: MAIN
Changes since 1.284: +4 -4 lines
Diff to previous 1.284 (unified)

Change xfs_bmalloca_t to use chars instead of ints to reduce
stack usage; fix up associated functions.

Revision 1.284 / (download) - annotate - [select for diffs], Tue Jun 4 16:30:46 2002 UTC (15 years, 4 months ago) by sandeen
Branch: MAIN
Changes since 1.283: +1 -1 lines
Diff to previous 1.283 (unified)

Update copyright dates

Revision 1.283 / (download) - annotate - [select for diffs], Sun Jun 2 12:48:46 2002 UTC (15 years, 4 months ago) by lord
Branch: MAIN
Changes since 1.282: +3 -3 lines
Diff to previous 1.282 (unified)

switch xfs perag log to a rw_semaphore

Revision 1.282 / (download) - annotate - [select for diffs], Fri May 17 00:18:15 2002 UTC (15 years, 5 months ago) by nathans
Branch: MAIN
Changes since 1.281: +1 -1 lines
Diff to previous 1.281 (unified)

fix some warnings generated during ia64/debug builds.

Revision 1.281 / (download) - annotate - [select for diffs], Tue Apr 30 09:41:04 2002 UTC (15 years, 5 months ago) by lord
Branch: MAIN
Changes since 1.280: +1 -1 lines
Diff to previous 1.280 (unified)

more irq changes to unsigned long

Revision 1.280 / (download) - annotate - [select for diffs], Fri Feb 15 20:47:53 2002 UTC (15 years, 8 months ago) by lord
Branch: MAIN
Changes since 1.279: +0 -11 lines
Diff to previous 1.279 (unified)

Remove setting of synchronous transactions where they can be replaced
by using the busy list.



Revision 1.279 / (download) - annotate - [select for diffs], Thu Jan 10 08:03:03 2002 UTC (15 years, 9 months ago) by kaos
Branch: MAIN
Changes since 1.278: +1 -1 lines
Diff to previous 1.278 (unified)

Workaround for gcc 2.96 bug

Revision 1.278 / (download) - annotate - [select for diffs], Mon Dec 3 17:52:09 2001 UTC (15 years, 10 months ago) by lord
Branch: MAIN
Changes since 1.277: +9 -1 lines
Diff to previous 1.277 (unified)

Pass in new flag to allocator indicating if this is the initial
data allocation for a file or not.

Revision 1.277 / (download) - annotate - [select for diffs], Tue Oct 23 23:44:04 2001 UTC (15 years, 11 months ago) by nathans
Branch: MAIN
Changes since 1.276: +25 -12 lines
Diff to previous 1.276 (unified)

sync userpsace with recent XFS kernel changes - this does not affect
userspace (libxfs), all affected code is removed by cpp.  some of the
added kernel diagnostics did not endian convert where needed - these
instances have been corrected.

Revision 1.276 / (download) - annotate - [select for diffs], Fri Oct 19 16:59:07 2001 UTC (16 years ago) by sandeen
Branch: MAIN
Changes since 1.275: +12 -5 lines
Diff to previous 1.275 (unified)

Merge irix6.5f:irix:104607a
Don't enforce quotas when reserving blocks for root extended attributes.
Fix for bug 833507.

Revision 1.275 / (download) - annotate - [select for diffs], Wed Oct 17 00:01:56 2001 UTC (16 years ago) by nathans
Branch: MAIN
Changes since 1.274: +3 -2 lines
Diff to previous 1.274 (unified)

fix benign warnings in print statements for 64 bit platforms.

Revision 1.274 / (download) - annotate - [select for diffs], Fri Oct 5 13:34:57 2001 UTC (16 years ago) by sandeen
Branch: MAIN
Changes since 1.273: +8 -8 lines
Diff to previous 1.273 (unified)

remove newline from end of cmn_err(CE_NOTE messages

Revision 1.273 / (download) - annotate - [select for diffs], Thu Oct 4 22:13:53 2001 UTC (16 years ago) by sandeen
Branch: MAIN
Changes since 1.272: +8 -8 lines
Diff to previous 1.272 (unified)

Whoops, don't put a \n on the end of error message, clutters logs

Revision 1.272 / (download) - annotate - [select for diffs], Thu Oct 4 21:11:56 2001 UTC (16 years ago) by sandeen
Branch: MAIN
Changes since 1.271: +80 -10 lines
Diff to previous 1.271 (unified)

More verbose error messages on forced shutdown

Revision 1.271 / (download) - annotate - [select for diffs], Tue Sep 11 19:25:00 2001 UTC (16 years, 1 month ago) by lord
Branch: MAIN
Changes since 1.270: +2 -2 lines
Diff to previous 1.270 (unified)

fix min max typing issues

Revision 1.270 / (download) - annotate - [select for diffs], Tue Aug 14 13:35:18 2001 UTC (16 years, 2 months ago) by eric
Branch: MAIN
Changes since 1.269: +4 -1 lines
Diff to previous 1.269 (unified)

Merge of irix6.5f:irix:99901a
Add xfs_ioerror_alert calls on I/O errors

Revision 1.269 / (download) - annotate - [select for diffs], Thu Apr 19 02:37:23 2001 UTC (16 years, 6 months ago) by nathans
Branch: MAIN
CVS Tags: Linux-2_4_5-merge
Changes since 1.268: +13 -13 lines
Diff to previous 1.268 (unified)

change XFS_STATS macro so that it doesn't rely on cpp ## to construct
individual field names for the xfsstats structure.  fixes up some gcc
compiler warnings, for recent versions of gcc.

Revision 1.268 / (download) - annotate - [select for diffs], Thu Apr 12 23:35:02 2001 UTC (16 years, 6 months ago) by nathans
Branch: MAIN
Changes since 1.267: +3 -3 lines
Diff to previous 1.267 (unified)

tidy up spurious whitespace & offsetting uncleanliness for those
routines which I'm syncing with userspace at the moment.

Revision 1.267 / (download) - annotate - [select for diffs], Wed Apr 11 16:27:03 2001 UTC (16 years, 6 months ago) by lord
Branch: MAIN
Changes since 1.266: +0 -10 lines
Diff to previous 1.266 (unified)

Kill gratuitous prototypes

Revision 1.266 / (download) - annotate - [select for diffs], Wed Apr 11 01:44:54 2001 UTC (16 years, 6 months ago) by cattelan
Branch: MAIN
Changes since 1.265: +182 -182 lines
Diff to previous 1.265 (unified)

Get rid of the last compiler warning OFF flags

Revision 1.265 / (download) - annotate - [select for diffs], Tue Apr 3 02:52:38 2001 UTC (16 years, 6 months ago) by nathans
Branch: MAIN
CVS Tags: Release-1_0_0
Changes since 1.264: +8 -8 lines
Diff to previous 1.264 (unified)

support group quotas in Linux/XFS.

Revision 1.264 / (download) - annotate - [select for diffs], Mon Mar 12 19:27:48 2001 UTC (16 years, 7 months ago) by sandeen
Branch: MAIN
CVS Tags: PreRelease-0_10
Changes since 1.263: +5 -2 lines
Diff to previous 1.263 (unified)

Do an unlock if an error condition is detected.
In xfs_bmap_add_attrfork() remove extra xfs_iunlock() under label error0.
 Fix for bug 798940.

Revision 1.263 / (download) - annotate - [select for diffs], Wed Dec 13 06:02:07 2000 UTC (16 years, 10 months ago) by ivanr
Branch: MAIN
Changes since 1.262: +1 -1 lines
Diff to previous 1.262 (unified)

add parameter to VOP_TOSS_PAGES VOP_FLUSH_PAGES and VOP_FLUSHINVAL_PAGES for irix compatibility

Revision 1.262 / (download) - annotate - [select for diffs], Wed Dec 6 04:48:11 2000 UTC (16 years, 10 months ago) by nathans
Branch: MAIN
Changes since 1.261: +0 -1 lines
Diff to previous 1.261 (unified)

remove unused header.

Revision 1.261 / (download) - annotate - [select for diffs], Fri Sep 29 19:03:03 2000 UTC (17 years ago) by lord
Branch: MAIN
Changes since 1.260: +14 -66 lines
Diff to previous 1.260 (unified)

Merge Irix mod to Back out stripe width alignment

Revision 1.260 / (download) - annotate - [select for diffs], Mon Sep 25 05:42:07 2000 UTC (17 years ago) by nathans
Branch: MAIN
Changes since 1.259: +6 -131 lines
Diff to previous 1.259 (unified)

use xfs.h, remove all traces of SIM, push extern declarations into headers,
dead code removal.

Revision 1.259 / (download) - annotate - [select for diffs], Mon Aug 28 15:51:37 2000 UTC (17 years, 1 month ago) by lord
Branch: MAIN
Changes since 1.258: +4 -0 lines
Diff to previous 1.258 (unified)

Merge irix fix for 797199 - this improves the XFS allocator behavior
for extending an existing file, fragmentation is reduced.

Revision 1.258 / (download) - annotate - [select for diffs], Fri Aug 11 15:20:42 2000 UTC (17 years, 2 months ago) by lord
Branch: MAIN
Changes since 1.257: +3 -2 lines
Diff to previous 1.257 (unified)

Change a call to do_mod to not pass in an expression - this does not
work with the new definition.

Revision 1.257 / (download) - annotate - [select for diffs], Mon Aug 7 15:12:24 2000 UTC (17 years, 2 months ago) by lord
Branch: MAIN
Changes since 1.256: +26 -18 lines
Diff to previous 1.256 (unified)

Make 64 bit divide and modulus operations explicit

Revision 1.256 / (download) - annotate - [select for diffs], Tue Jul 18 01:41:36 2000 UTC (17 years, 3 months ago) by nathans
Branch: MAIN
Changes since 1.255: +9 -9 lines
Diff to previous 1.255 (unified)

rework the xfs stats interface to facilitate code sharing.  if there
is no interface available to export the stats (i.e. procfs), don't
bother compiling them in.

Revision 1.255 / (download) - annotate - [select for diffs], Mon Jul 17 20:57:01 2000 UTC (17 years, 3 months ago) by roehrich
Branch: MAIN
Changes since 1.254: +6 -3 lines
Diff to previous 1.254 (unified)

use dmapi_kern.h instead of dmi_kern.h
use dmapi_kern.h instead of dmi_kern.h

Revision 1.254 / (download) - annotate - [select for diffs], Fri Jun 16 20:57:56 2000 UTC (17 years, 4 months ago) by lord
Branch: MAIN
Changes since 1.253: +67 -15 lines
Diff to previous 1.253 (unified)

Modify xfs_bmap_alloc() to attempt stripe width alignment first.

Revision 1.253 / (download) - annotate - [select for diffs], Fri Jun 9 06:40:03 2000 UTC (17 years, 4 months ago) by ananth
Branch: MAIN
Changes since 1.252: +2 -4 lines
Diff to previous 1.252 (unified)

Merge of 2.3.99pre2-xfs:slinx:63057a originally by cattelan on 05/30/00
  Missed in the types upgrade.

Merge of 2.3.99pre2-xfs:slinx:63295a originally by nathans on 06/03/00
  remove all references to stuff from ksa.h and psa.h.

Merge of 2.3.99pre2-xfs:slinx:63306a originally by dxm on 06/04/00
  RT/GRIO checkin

Revision 1.252 / (download) - annotate - [select for diffs], Fri Jun 9 04:39:57 2000 UTC (17 years, 4 months ago) by dxm
Branch: MAIN
Changes since 1.251: +88 -88 lines
Diff to previous 1.251 (unified)

ARCH: Support big-endian ONLY
Merge of 2.3.99pre2-xfs:slinx:62350a by ananth.

Revision 1.251 / (download) - annotate - [select for diffs], Fri Jun 9 04:21:04 2000 UTC (17 years, 4 months ago) by ivanr
Branch: MAIN
Changes since 1.250: +1 -1 lines
Diff to previous 1.250 (unified)

endian convert bmap btree key
Merge of 2.3.99pre2-xfs:slinx:61085a by ananth.

Revision 1.250 / (download) - annotate - [select for diffs], Fri Jun 9 04:12:33 2000 UTC (17 years, 4 months ago) by ivanr
Branch: MAIN
Changes since 1.249: +22 -22 lines
Diff to previous 1.249 (unified)

fix bmap endian bug
Merge of 2.3.99pre2-xfs:slinx:60308a by ananth.

Revision 1.249 / (download) - annotate - [select for diffs], Fri Jun 9 03:55:40 2000 UTC (17 years, 4 months ago) by ivanr
Branch: MAIN
Changes since 1.248: +32 -32 lines
Diff to previous 1.248 (unified)

endian conversion support for bmap
Merge of 2.3.99pre2-xfs:slinx:59943a by ananth.

Revision 1.248 / (download) - annotate - [select for diffs], Fri Jun 9 03:45:47 2000 UTC (17 years, 4 months ago) by dxm
Branch: MAIN
Changes since 1.247: +4 -2 lines
Diff to previous 1.247 (unified)

arch mods - bnobt + cntbt conversion
Merge of 2.3.99pre2-xfs:slinx:58469a by ananth.

Revision 1.247 / (download) - annotate - [select for diffs], Fri Jun 9 03:35:24 2000 UTC (17 years, 4 months ago) by nathans
Branch: MAIN
Changes since 1.246: +31 -31 lines
Diff to previous 1.246 (unified)

Merge of 2.3.99pre2-xfs:slinx:57839a by ananth.

  architecture independence for btree header data structures.

Revision 1.246 / (download) - annotate - [select for diffs], Fri Jun 9 03:24:37 2000 UTC (17 years, 4 months ago) by lord
Branch: MAIN
Changes since 1.245: +1 -4 lines
Diff to previous 1.245 (unified)

Merge of 2.3.99pre2-xfs:slinx:56595a by ananth.

  Change calls to VOP_FLUSH_PAGES VOP_FLUSHINVAL_PAGES and VOP_TOSS_PAGES to
  not take an end offset.

Revision 1.245 / (download) - annotate - [select for diffs], Fri Jun 9 03:01:26 2000 UTC (17 years, 4 months ago) by jtk
Branch: MAIN
Changes since 1.244: +83 -35 lines
Diff to previous 1.244 (unified)

Merge of 2.3.99pre2-xfs:slinx:55946a by ananth.

  The original xfs_getbmap routine kmem_alloc'd a huge
  buffer for the interface to xfs_bmapi, this buffer
  could, and has, exceeded the max malloc size in a
  linux kernel.
  Re-arrrange the routine it "iterate" through the
  extents a chunk at a time, minimizing the malloc size.

Revision 1.244 / (download) - annotate - [select for diffs], Fri Jun 9 02:50:02 2000 UTC (17 years, 4 months ago) by kenmcd
Branch: MAIN
CVS Tags: GPL-ENCUMBRANCE
Changes since 1.243: +25 -12 lines
Diff to previous 1.243 (unified)

Updated copyright and license notices, ready for open source release
Merge of 2.3.99pre2-xfs:slinx:55821a by ananth.

Revision 1.243 / (download) - annotate - [select for diffs], Fri Jun 9 02:42:56 2000 UTC (17 years, 4 months ago) by jtk
Branch: MAIN
CVS Tags: DELETE
Changes since 1.242: +5 -6 lines
Diff to previous 1.242 (unified)

Merge of 2.3.99pre2-xfs:slinx:55789a by ananth.

  Change comments to reflect new ioctl command.

Revision 1.242 / (download) - annotate - [select for diffs], Fri Jun 9 02:10:00 2000 UTC (17 years, 4 months ago) by cattelan
Branch: MAIN
Changes since 1.241: +1 -1 lines
Diff to previous 1.241 (unified)

Merge of 2.3.99pre2-xfs:slinx:46541a by ananth.

  Merge of 2.3.42-xfs:slinx:46541a by ananth.
  Header file cleanup
  removed the last of the
  #if defined(__linux__)
  #include <xfs_linux>
  #endif
  All os specific include file switches should now done
  in xfs_os_defs.h

Revision 1.241 / (download) - annotate - [select for diffs], Fri Jun 9 01:50:04 2000 UTC (17 years, 4 months ago) by nathans
Branch: MAIN
Changes since 1.240: +2 -6 lines
Diff to previous 1.240 (unified)

Merge of 2.3.99pre2-xfs:slinx:46428a by ananth.

  Merge of 2.3.42-xfs:slinx:46428a by ananth.
  remove unused include files.

Revision 1.240 / (download) - annotate - [select for diffs], Fri Jun 9 01:35:34 2000 UTC (17 years, 4 months ago) by lord
Branch: MAIN
Changes since 1.239: +0 -1 lines
Diff to previous 1.239 (unified)

use linux security mechanisms
Merge of 2.3.99pre2-xfs:slinx:46379a by ananth.

  Merge of 2.3.42-xfs:slinx:46379a by ananth.

Revision 1.239 / (download) - annotate - [select for diffs], Thu Jun 8 23:59:59 2000 UTC (17 years, 4 months ago) by lord
Branch: MAIN
Changes since 1.238: +3 -4 lines
Diff to previous 1.238 (unified)

Bring XFS upto 2.3.42
Merge of 2.3.99pre2-xfs:slinx:43458a by ananth.

  Merge of 2.3.42-xfs:slinx:43458a by ananth.

Revision 1.238 / (download) - annotate - [select for diffs], Fri Feb 11 03:35:55 2000 UTC (17 years, 8 months ago) by mostek
Branch: MAIN
Changes since 1.237: +288 -1 lines
Diff to previous 1.237 (unified)

Add lots of new code. OK, it's just debugging code but it is
very useful in identifying btree corruption in extent lists.
The new code walks btree leaves and analyzes btree nodes to see
if offsets/keys are in order and no dup blocks. All the ode
is off unless -DXFSDEBUG and -DDEBUG is turned on.
TO turn on, simply defines these and all extent additions into
btree format will check for consistency.

Revision 1.237 / (download) - annotate - [select for diffs], Sun Jan 30 09:59:06 2000 UTC (17 years, 8 months ago) by kenmcd
Branch: MAIN
Changes since 1.236: +12 -17 lines
Diff to previous 1.236 (unified)

Encumbrance review done.
Add copyright and license words consistent with GPL.
Refer to http://fsg.melbourne.sgi.com/reviews/ for details.

There is a slight change in the license terms and conditions words
to go with the copyrights, so most of the files are not getting
new GPL's, just updated versions ... but there are 20-30 more files
here as well.

Revision 1.236 / (download) - annotate - [select for diffs], Mon Jan 24 21:38:02 2000 UTC (17 years, 8 months ago) by lord
Branch: MAIN
Changes since 1.235: +11 -2 lines
Diff to previous 1.235 (unified)

Merge from irix/irix6.5f to pingu/slinx-xfs
Merge of irix6.5f:irix:32165a created by doucette on 11/02/99
  Make xfs_bmap_add_extent_unwritten_real to real-to-unwritten conversion
  as well as the unwritten-to-real conversion it already did.
  Allow xfs_bmap_add_extent to call this when appropriate.
  Add a few missing bmap trace points in the xfs_bmap_add_extent routines.
  xfs_bmap_alloc realtime code rewritten to align the extent in the file
  offset space if possible, and to make the allocated extent offset be 
  correct otherwise.
  Remove hack from xfs_bunmapi to line up extent deletion request with
  the real extents.  Instead allow xfs_bunmapi to split realtime extents
  into unwritten and written pieces to simulate deletion of partial 
  realtime extents.

Merge of irix6.5f:irix:32828a created by doucette on 11/08/99
  xfs_bmap_alloc and xfs_bunmapi further fixes for realtime extent
  allocation (alignment) and partial deallocation.  In xfs_bmap_alloc
  make sure we deal with the case where the targeted blocks are wholly
  within a realtime extent (not touching the edges).  In xfs_bunmapi,
  when making an extent partially unwritten, don't make the piece have
  a negative length.

Merge of irix6.5f:irix:33690a created by doucette on 11/18/99
  xfs_bmap_alloc realtime allocation: if the first try fails at allocating
  the extent, and prod is set (indicating the file's extent size) then
  set prod to 1 and try again, i.e. take what we can get, living with the
  fragmentation.
  Otherwise we'll loop from xfs_bmapi since this situation isn't supposed
  to happen.

Revision 1.235 / (download) - annotate - [select for diffs], Mon Jan 3 21:41:53 2000 UTC (17 years, 9 months ago) by kenmcd
Branch: MAIN
Changes since 1.234: +24 -1 lines
Diff to previous 1.234 (unified)

Encumbrance review done.  Add copyright and license words consistent with GPL.

Revision 1.234 / (download) - annotate - [select for diffs], Mon Nov 22 19:39:07 1999 UTC (17 years, 10 months ago) by lord
Branch: MAIN
Changes since 1.233: +1 -1 lines
Diff to previous 1.233 (unified)

virtualize interface to buffer data

Revision 1.233 / (download) - annotate - [select for diffs], Wed Nov 17 19:22:23 1999 UTC (17 years, 11 months ago) by lord
Branch: MAIN
Changes since 1.232: +6 -6 lines
Diff to previous 1.232 (unified)

replace struct buf and buf_t references with xfs_buf and xfs_buf_t

Revision 1.232 / (download) - annotate - [select for diffs], Mon Nov 15 23:07:16 1999 UTC (17 years, 11 months ago) by lord
Branch: MAIN
Changes since 1.231: +320 -105 lines
Diff to previous 1.231 (unified)

Merge from irix/irix6.5f to pingu/slinx-xfs
Merge of irix6.5f:irix:32165a created by doucette on 11/02/99
  Make xfs_bmap_add_extent_unwritten_real to real-to-unwritten conversion
  as well as the unwritten-to-real conversion it already did.
  Allow xfs_bmap_add_extent to call this when appropriate.
  Add a few missing bmap trace points in the xfs_bmap_add_extent routines.
  xfs_bmap_alloc realtime code rewritten to align the extent in the file
  offset space if possible, and to make the allocated extent offset be 
  correct otherwise.
  Remove hack from xfs_bunmapi to line up extent deletion request with
  the real extents.  Instead allow xfs_bunmapi to split realtime extents
  into unwritten and written pieces to simulate deletion of partial 
  realtime extents.

Merge of irix6.5f:irix:32828a created by doucette on 11/08/99
  xfs_bmap_alloc and xfs_bunmapi further fixes for realtime extent
  allocation (alignment) and partial deallocation.  In xfs_bmap_alloc
  make sure we deal with the case where the targeted blocks are wholly
  within a realtime extent (not touching the edges).  In xfs_bunmapi,
  when making an extent partially unwritten, don't make the piece have
  a negative length.

Revision 1.231 / (download) - annotate - [select for diffs], Thu Oct 28 10:52:19 1999 UTC (17 years, 11 months ago) by lord
Branch: MAIN
Changes since 1.230: +26 -16 lines
Diff to previous 1.230 (unified)

In xfs_bunmapi(), for real-time files, get the extents
containing the first and last blocks of the unmapped range,
and use offsets of those blocks in the extents to
preserve allocation in units of the real-time extent size.
In xfs_getbmap(), don't round up the length of real-time
file extents to the real-time extent size.

Revision 1.230 / (download) - annotate - [select for diffs], Thu Oct 28 10:27:04 1999 UTC (17 years, 11 months ago) by lord
Branch: MAIN
Changes since 1.229: +153 -1 lines
Diff to previous 1.229 (unified)

Added routines to count the fs blocks in use by either
the data or attribute forks.  For defragmentation support.
pv693699

Revision 1.229 / (download) - annotate - [select for diffs], Tue Oct 5 05:18:56 1999 UTC (18 years ago) by cattelan
Branch: MAIN
Changes since 1.228: +1 -0 lines
Diff to previous 1.228 (unified)

gcc does not accecpt /* NOREACHED */ added return 0 

Revision 1.228 / (download) - annotate - [select for diffs], Wed Aug 18 17:43:46 1999 UTC (18 years, 2 months ago) by cattelan
Branch: MAIN
Changes since 1.227: +4 -12 lines
Diff to previous 1.227 (unified)

First compiling version of mkfs unsing XFS libsim.
Mostly just addtions of cut up irix header files.

Revision 1.227 / (download) - annotate - [select for diffs], Mon Aug 9 17:41:06 1999 UTC (18 years, 2 months ago) by cattelan
Branch: MAIN
Changes since 1.226: +15 -2 lines
Diff to previous 1.226 (unified)

TAKE Initial linux changes... build lib sim directly.


Revision 1.226 / (download) - annotate - [select for diffs], Fri May 14 20:13:13 1999 UTC (18 years, 5 months ago) by lord
Branch: MAIN
Changes since 1.225: +0 -1 lines
Diff to previous 1.225 (unified)

Merge from irix/cxfs-f to irix/irix6.5f
Merge of cxfs-f:irix:15011b created by lord on 05/11/99
  Merge from irix/cxfs to irix/cxfs-f
  Merge of cxfs:irix:13423a created by lord on 04/19/99
  CXFS infrastructure checkin

Revision 1.225 / (download) - annotate - [select for diffs], Tue Apr 27 18:11:47 1999 UTC (18 years, 5 months ago) by ethan
Branch: MAIN
Changes since 1.224: +1 -1 lines
Diff to previous 1.224 (unified)

bring stop offsets into sync between buffer and page caches
bring stop offsets into sync between buffer and page caches

Revision 1.224 / (download) - annotate - [select for diffs], Thu Feb 4 01:28:30 1999 UTC (18 years, 8 months ago) by doucette
Branch: MAIN
Changes since 1.223: +130 -16 lines
Diff to previous 1.223 (unified)

Change includes for v2 directory support.
Compile some code out of simulation unless it's repair.
Allow for contiguous (directory) allocations.
Add new interfaces for probing the extent lists for multi-space
directories.

Revision 1.223 / (download) - annotate - [select for diffs], Fri Dec 4 21:44:23 1998 UTC (18 years, 10 months ago) by doucette
Branch: MAIN
Changes since 1.222: +86 -74 lines
Diff to previous 1.222 (unified)

Add casts to make this compile cleanly -64.
pv: 617654

Revision 1.222 / (download) - annotate - [select for diffs], Mon Nov 30 19:59:13 1998 UTC (18 years, 10 months ago) by doucette
Branch: MAIN
Changes since 1.221: +62 -33 lines
Diff to previous 1.221 (unified)

Fixes in xfs_bmap_alloc to use minalignslop allocator argument,
to avoid deadlocks if alignment is in use.
pv: 652107

Revision 1.221 / (download) - annotate - [select for diffs], Mon Jul 27 14:27:15 1998 UTC (19 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.220: +10 -4 lines
Diff to previous 1.220 (unified)

Correct a cursor positioning problem in unwritten extent code

Revision 1.220 / (download) - annotate - [select for diffs], Sun Jul 12 03:56:21 1998 UTC (19 years, 3 months ago) by bbowen
Branch: MAIN
Changes since 1.219: +9 -2 lines
Diff to previous 1.219 (unified)

Fix two regressions introduced by two 6.5.1 fixes.
The first caused an XFS swap file of zero size to fail
(615627). The second caused xfs_getbmap() to return
incorrect results in some circumstances (615536).

Revision 1.219 / (download) - annotate - [select for diffs], Fri Jun 12 18:16:46 1998 UTC (19 years, 4 months ago) by ram
Branch: MAIN
Changes since 1.218: +74 -9 lines
Diff to previous 1.218 (unified)

Add btree extent checking to xfs_bmap_read_extents(). Add
xfs_check_swappable() and the associates unwritten checks.

Revision 1.218 / (download) - annotate - [select for diffs], Wed May 13 18:57:18 1998 UTC (19 years, 5 months ago) by mduchene
Branch: MAIN
Changes since 1.217: +11 -3 lines
Diff to previous 1.217 (unified)

Return the full RT extent size rather than basic FSB's.

Revision 1.217 / (download) - annotate - [select for diffs], Fri Mar 27 18:43:12 1998 UTC (19 years, 6 months ago) by ram
Branch: MAIN
Changes since 1.216: +11 -2 lines
Diff to previous 1.216 (unified)

Detect and prevent a kernel memory corruption which occurs with
a corrupted xfs btree.
pv: 581839
rv:lord@cray.com

Revision 1.216 / (download) - annotate - [select for diffs], Fri Mar 20 21:21:32 1998 UTC (19 years, 7 months ago) by rm
Branch: MAIN
Changes since 1.215: +46 -2 lines
Diff to previous 1.215 (unified)

Correct a problem that occurred when an extent state was undefined.
pv: 577147 rv:doucette@engr

Revision 1.215 / (download) - annotate - [select for diffs], Fri Feb 20 23:09:18 1998 UTC (19 years, 7 months ago) by rm
Branch: MAIN
Changes since 1.214: +680 -105 lines
Diff to previous 1.214 (unified)

Implement unwritten extent flagging.
rv: doucette@engr, rcc@engr, earsh@engr, kayuri@engr
pv: 705217

Revision 1.214 / (download) - annotate - [select for diffs], Sun Jan 18 08:52:23 1998 UTC (19 years, 9 months ago) by rcc
Branch: MAIN
Changes since 1.213: +3 -3 lines
Diff to previous 1.213 (unified)

added extra argument to xfs_trans_commit for IO_DSYNC speedup.
pv: 555963  rv: lord@cray

Revision 1.213 / (download) - annotate - [select for diffs], Mon Jan 12 21:56:23 1998 UTC (19 years, 9 months ago) by doucette
Branch: MAIN
Changes since 1.212: +8 -8 lines
Diff to previous 1.212 (unified)

In xfs_bmap_add_attrfork, deal with bad di_aformat better, don't
allow it to cause us to miss logging the inode core.
pv: 559265
rv: jtk@cray.com

Revision 1.212 / (download) - annotate - [select for diffs], Mon Jan 12 18:50:56 1998 UTC (19 years, 9 months ago) by doucette
Branch: MAIN
Changes since 1.211: +147 -107 lines
Diff to previous 1.211 (unified)

Fix logging flags handling in error paths in xfs_bmap_add_extent,
xfs_bmap_add_extent_delay_real, xfs_bmap_add_extent_hole_real,
xfs_bmap_btree_to_extents, xfs_bmap_del_extent,
xfs_bmap_extents_to_btree, xfs_bmap_local_to_extents, and
xfs_bmap_add_attrfork.
Fix calls to xfs_bmbt_update to notice error returns.
Make xfs_bmapi, xfs_bmapi_single, and xfs_bunmapi return EFSCORRUPTED
(not EIO) for bad-format inode forks.
rv: rcc@engr
pv: 556403

Revision 1.211 / (download) - annotate - [select for diffs], Thu Jan 8 04:48:26 1998 UTC (19 years, 9 months ago) by doucette
Branch: MAIN
Changes since 1.210: +45 -1 lines
Diff to previous 1.210 (unified)

Add tracing for bunmapi calls, under xrwtrc.
pv: 555734
rv: kayuri@engr

Revision 1.210 / (download) - annotate - [select for diffs], Sun Dec 21 17:58:37 1997 UTC (19 years, 9 months ago) by doucette
Branch: MAIN
Changes since 1.209: +1 -1 lines
Diff to previous 1.209 (unified)

Add the buffer pointer to xfs_btree_check_sblock, xfs_btree_check_lblock,
and xfs_btree_check_block, so it can trace failures on the buffer
without having to figure out if there is a buffer.
pv: 556753
rv: ram@cray.com

Revision 1.209 / (download) - annotate - [select for diffs], Sat Dec 20 00:49:53 1997 UTC (19 years, 10 months ago) by doucette
Branch: MAIN
Changes since 1.208: +72 -46 lines
Diff to previous 1.208 (unified)

In xfs_bmap_add_attrfork, xfs_bmapi, and xfs_bunmapi,
make sure error paths don't result
in changing inode data without logging it (thus failing to
cause fs shutdown).
In xfs_bmap_finish, shut down on error exits from efd handling,
so we don't hang waiting for the efd to be logged.
pv: 556403, 556513
rv: mostek@cray.com

Revision 1.208 / (download) - annotate - [select for diffs], Fri Dec 19 19:35:44 1997 UTC (19 years, 10 months ago) by gnuss
Branch: MAIN
Changes since 1.207: +37 -22 lines
Diff to previous 1.207 (unified)

Add reserved flag param to routines in block allocation call sequence

Revision 1.207 / (download) - annotate - [select for diffs], Thu Dec 18 17:01:38 1997 UTC (19 years, 10 months ago) by kcm
Branch: MAIN
Changes since 1.206: +57 -6 lines
Diff to previous 1.206 (unified)

Add support for new getbmapx structure as well as for the
previous getbmap structure.
pv: 545725.
rv: ram@sdiv.cray.com

Revision 1.206 / (download) - annotate - [select for diffs], Fri Sep 12 17:44:25 1997 UTC (20 years, 1 month ago) by lord
Branch: MAIN
Changes since 1.205: +39 -21 lines
Diff to previous 1.205 (unified)

Break xfs_bmap_search_extents into two functions, a common core
which can be called from xfs and cxfs and a wrapper for xfs to
use

Revision 1.205 / (download) - annotate - [select for diffs], Fri Aug 29 22:26:32 1997 UTC (20 years, 1 month ago) by doucette
Branch: MAIN
Changes since 1.204: +24 -3 lines
Diff to previous 1.204 (unified)

in xfs_bunmapi, don't call xfs_bmap_del_extent if deleting this extent
would cause a directory to become btree-format, and we don't have a
block reservation (xfs_remove, for instance).

Revision 1.204 / (download) - annotate - [select for diffs], Sat Aug 9 01:23:06 1997 UTC (20 years, 2 months ago) by doucette
Branch: MAIN
Changes since 1.203: +13 -12 lines
Diff to previous 1.203 (unified)

Fix xfs_getbmap (fcntl interface) where the starting offset is not 0
and we're dealing with the hole at the end of the file, we were
returning the wrong length in that case.

Revision 1.203 / (download) - annotate - [select for diffs], Fri Aug 8 22:16:20 1997 UTC (20 years, 2 months ago) by doucette
Branch: MAIN
Changes since 1.202: +45 -31 lines
Diff to previous 1.202 (unified)

Rearrange the rt code in xfs_bmap_alloc, pass another argument (length)
to xfs_rtpick_extent.

Revision 1.202 / (download) - annotate - [select for diffs], Fri Aug 8 00:35:55 1997 UTC (20 years, 2 months ago) by doucette
Branch: MAIN
Changes since 1.201: +6 -0 lines
Diff to previous 1.201 (unified)

Deal with realtime extent requests in xfs_bmap_alloc that are
at MAXEXTLEN, can't allow a MAXEXTLEN extent to get created.

Revision 1.201 / (download) - annotate - [select for diffs], Mon Aug 4 18:04:07 1997 UTC (20 years, 2 months ago) by doucette
Branch: MAIN
Changes since 1.200: +14 -15 lines
Diff to previous 1.200 (unified)

Remove rbmrotor mount field for spacing out realtime allocations,
replace it with a call to xfs_rtpick_extent which does a better job.
Fix the ISLEGAL macro to allow realtime blocks instead of checking
against rextents.

Revision 1.200 / (download) - annotate - [select for diffs], Mon Jul 28 23:19:58 1997 UTC (20 years, 2 months ago) by doucette
Branch: MAIN
Changes since 1.199: +7 -6 lines
Diff to previous 1.199 (unified)

In xfs_bmap_alloc, don't act like this is a realtime allocation when
it's not user data (i.e. attributes).

Revision 1.199 / (download) - annotate - [select for diffs], Thu Jul 17 21:28:48 1997 UTC (20 years, 3 months ago) by sup
Branch: MAIN
Changes since 1.198: +8 -4 lines
Diff to previous 1.198 (unified)

xfs_bmap_cancel was accessing memory right after freeing
it up!

Revision 1.198 / (download) - annotate - [select for diffs], Tue Jul 15 21:40:53 1997 UTC (20 years, 3 months ago) by doucette
Branch: MAIN
Changes since 1.197: +23 -9 lines
Diff to previous 1.197 (unified)

In xfs_getbmap, allow no-extents forks to come in, and pass back
nothing (or a hole).  Panicing is bad.

Revision 1.197 / (download) - annotate - [select for diffs], Wed Jul 9 17:34:17 1997 UTC (20 years, 3 months ago) by doucette
Branch: MAIN
Changes since 1.196: +65 -17 lines
Diff to previous 1.196 (unified)

Fix xfs_bmap_del_extent, so it can back out of the case where an
extent is being split, and the space allocation fails.

Revision 1.196 / (download) - annotate - [select for diffs], Mon Jun 30 23:17:31 1997 UTC (20 years, 3 months ago) by doucette
Branch: MAIN
Changes since 1.195: +7 -3 lines
Diff to previous 1.195 (unified)

Get space reservations from xfs_trans_space.h macros.
Fix xfs_bmap_add_attrfork_btree to clear the cursor's allocated field,
since we'll pop an assert if we allocated space in a DEBUG kernel.

Revision 1.195 / (download) - annotate - [select for diffs], Wed Jun 11 14:01:09 1997 UTC (20 years, 4 months ago) by steiner
Branch: MAIN
Changes since 1.194: +3 -10 lines
Diff to previous 1.194 (unified)

Add vnode pcache VOPs required for CELLs.

Revision 1.194 / (download) - annotate - [select for diffs], Sat May 10 00:43:56 1997 UTC (20 years, 5 months ago) by rcc
Branch: MAIN
Changes since 1.193: +5 -3 lines
Diff to previous 1.193 (unified)

480145 - bump up the size of the hole the allocator is willing to
leave for I/O beyond the end-of-file

Revision 1.193 / (download) - annotate - [select for diffs], Wed Apr 30 21:46:28 1997 UTC (20 years, 5 months ago) by sup
Branch: MAIN
Changes since 1.192: +5 -2 lines
Diff to previous 1.192 (unified)

bmap_finish must return *commited=1, even when error, if the first
transaction was committed.

Revision 1.192 / (download) - annotate - [select for diffs], Sun Apr 6 02:43:14 1997 UTC (20 years, 6 months ago) by sup
Branch: MAIN
Changes since 1.191: +4 -6 lines
Diff to previous 1.191 (unified)

xfs_bmap_add_attrfork() wasn't unlocking inode when reserve() fails.

Revision 1.191 / (download) - annotate - [select for diffs], Fri Apr 4 07:55:03 1997 UTC (20 years, 6 months ago) by rcc
Branch: MAIN
Changes since 1.190: +2 -2 lines
Diff to previous 1.190 (unified)

474302 - add starting point to pflushvp call

Revision 1.190 / (download) - annotate - [select for diffs], Sat Mar 15 00:41:32 1997 UTC (20 years, 7 months ago) by doucette
Branch: MAIN
Changes since 1.189: +23 -10 lines
Diff to previous 1.189 (unified)

Error detection/recovery enhancements.  Check more result codes from
btree operations, returning corruption if bad results.

Revision 1.189 / (download) - annotate - [select for diffs], Tue Mar 11 18:44:36 1997 UTC (20 years, 7 months ago) by kayuri
Branch: MAIN
Changes since 1.188: +4 -2 lines
Diff to previous 1.188 (unified)

In xfs_bmap_alloc(), we were not releasing the m_peraglock when the call to
xfs_alloc_pagf_init() failed. Fixed this.

Revision 1.188 / (download) - annotate - [select for diffs], Fri Feb 21 23:04:45 1997 UTC (20 years, 7 months ago) by rcc
Branch: MAIN
Changes since 1.187: +14 -9 lines
Diff to previous 1.187 (unified)

341879,464898 - add async parameter to xfs_bmap_btree_to_extents
and xfs_bmap_del_extent so inactive transactions on wsync-mounted
filesystems can run asynchronously

Revision 1.187 / (download) - annotate - [select for diffs], Tue Feb 18 23:33:39 1997 UTC (20 years, 8 months ago) by sup
Branch: MAIN
Changes since 1.186: +1 -2 lines
Diff to previous 1.186 (unified)

Wrong ASSERTion. We may fail to increment the cursor because we've hit
the end, but the bmbt_insert that follows it will still go though.

Revision 1.186 / (download) - annotate - [select for diffs], Thu Feb 13 21:29:21 1997 UTC (20 years, 8 months ago) by kayuri
Branch: MAIN
Changes since 1.185: +2 -1 lines
Diff to previous 1.185 (unified)

Initialized btree cursor to NULL in xfs_bmap_add_attrfork_extents().

Revision 1.185 / (download) - annotate - [select for diffs], Sat Feb 8 00:32:08 1997 UTC (20 years, 8 months ago) by doucette
Branch: MAIN
Changes since 1.184: +458 -674 lines
Diff to previous 1.184 (unified)

Add more comments and assertions.  Fix some formatting.
Fix a couple of places in error paths where cursors were not freed up.

Revision 1.184 / (download) - annotate - [select for diffs], Sat Jan 25 02:40:47 1997 UTC (20 years, 8 months ago) by sup
Branch: MAIN
Changes since 1.183: +16 -5 lines
Diff to previous 1.183 (unified)

XFS I/O error handling changes.

Revision 1.183 / (download) - annotate - [select for diffs], Thu Dec 12 01:46:39 1996 UTC (20 years, 10 months ago) by doucette
Branch: MAIN
Changes since 1.182: +3 -2 lines
Diff to previous 1.182 (unified)

Fix some warnings: remove unused variables, add ARGSUSED and REFERENCED,
add casts.

Revision 1.182 / (download) - annotate - [select for diffs], Thu Nov 14 23:59:38 1996 UTC (20 years, 11 months ago) by kayuri
Branch: MAIN
Changes since 1.181: +59 -6 lines
Diff to previous 1.181 (unified)

Altered xfs_bmap_alloc() to traverse the agfs to find the longest
available space and to use that to set the minimum allocation size for the
first pass through the space allocator code. With this change we are doing a
better job of ensuring that the request will be satisfied in the first
loop through the code, and will result in fewer, longer extents being
allocated. Bug - 388854.

Revision 1.181 / (download) - annotate - [select for diffs], Mon Sep 30 23:38:49 1996 UTC (21 years ago) by kayuri
Branch: MAIN
Changes since 1.180: +193 -2 lines
Diff to previous 1.180 (unified)

Align data blocks to the stripe unit boundary if we are allocating at the
allocation end of file and the requested data blocks are greater than or
equal to the stripe unit.

Revision 1.180 / (download) - annotate - [select for diffs], Tue Jul 9 01:21:53 1996 UTC (21 years, 3 months ago) by rcc
Branch: MAIN
Changes since 1.179: +1 -7 lines
Diff to previous 1.179 (unified)

make xfs_bmap_finish usable in the simulation

Revision 1.179 / (download) - annotate - [select for diffs], Thu Jul 4 01:48:21 1996 UTC (21 years, 3 months ago) by doucette
Branch: MAIN
Changes since 1.178: +20 -33 lines
Diff to previous 1.178 (unified)

Move the lowspace indicator into the flist structure, so
it can be seen across multiple xfs_bmapi calls in the same transaction
(bug 396248).

Revision 1.178 / (download) - annotate - [select for diffs], Wed Jul 3 18:53:03 1996 UTC (21 years, 3 months ago) by doucette
Branch: MAIN
Changes since 1.177: +44 -54 lines
Diff to previous 1.177 (unified)

Rewrite xfs_bmap_alloc to deal with boundary conditions correctly,
also fix allocations larger than 1 ag.

Revision 1.177 / (download) - annotate - [select for diffs], Wed Jun 26 05:59:28 1996 UTC (21 years, 3 months ago) by doucette
Branch: MAIN
Changes since 1.176: +2 -1 lines
Diff to previous 1.176 (unified)

Add an assertion that xfs_bmapi doesn't return a structure with
a zero blockcount.

Revision 1.176 / (download) - annotate - [select for diffs], Tue Jun 18 23:46:39 1996 UTC (21 years, 4 months ago) by sup
Branch: MAIN
Changes since 1.175: +11 -4 lines
Diff to previous 1.175 (unified)

Prob in xfs_bmap_local_to_extents() as used by attr code.
This routine was only used by the directory code earlier, and they
did their own logging, but with attributes, it's different.
So, added a trans_log_buf and an ASSERT to make sure that data-forks
of regular files don't ever take that path until we know what to
do with that case.

Revision 1.175 / (download) - annotate - [select for diffs], Tue Jun 4 18:57:54 1996 UTC (21 years, 4 months ago) by doucette
Branch: MAIN
Changes since 1.174: +32 -60 lines
Diff to previous 1.174 (unified)

Some cleanup, removal of dead debugging code.  Support for aligned
allocations (bug 385292).  Support for superblock versioning (bug 385316).

Revision 1.174 / (download) - annotate - [select for diffs], Wed May 15 21:51:53 1996 UTC (21 years, 5 months ago) by sup
Branch: MAIN
Changes since 1.173: +134 -11 lines
Diff to previous 1.173 (unified)

added calls to do disk quota accounting, both RT and non-RT

Revision 1.173 / (download) - annotate - [select for diffs], Fri Apr 26 22:54:45 1996 UTC (21 years, 5 months ago) by rcc
Branch: MAIN
Changes since 1.172: +2 -6 lines
Diff to previous 1.172 (unified)

turn removal code back on for simulation

Revision 1.172 / (download) - annotate - [select for diffs], Mon Apr 1 22:49:18 1996 UTC (21 years, 6 months ago) by ajs
Branch: MAIN
Changes since 1.171: +5 -3 lines
Diff to previous 1.171 (unified)

Changes for vnodes with behaviors.

Revision 1.171 / (download) - annotate - [select for diffs], Thu Mar 28 20:13:37 1996 UTC (21 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.170: +3 -3 lines
Diff to previous 1.170 (unified)

If we encounter an inode with a too-low-for-btree-format extent count
and we're not in a transaction, just let it stay that way.
Improve a couple of other asserts in xfs_bmapi.

Revision 1.170 / (download) - annotate - [select for diffs], Thu Mar 28 01:18:37 1996 UTC (21 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.169: +23 -3 lines
Diff to previous 1.169 (unified)

Fix the check in xfs_bmap_add_attrfork_extents, for the case where
the extents still fit; it didn't deal with delayed allocations.
Add a bunch of asserts that were used to catch the problem.

Revision 1.169 / (download) - annotate - [select for diffs], Tue Mar 5 07:43:36 1996 UTC (21 years, 7 months ago) by limes
Branch: MAIN
Changes since 1.168: +4 -1 lines
Diff to previous 1.168 (unified)

fix some compiler messages

Revision 1.168 / (download) - annotate - [select for diffs], Fri Feb 9 01:14:09 1996 UTC (21 years, 8 months ago) by doucette
Branch: MAIN
Changes since 1.167: +2 -2 lines
Diff to previous 1.167 (unified)

Move the include of sys/debug.h under #define _KERNEL for compile errors.

Revision 1.167 / (download) - annotate - [select for diffs], Wed Jan 31 05:40:31 1996 UTC (21 years, 8 months ago) by ack
Branch: MAIN
Changes since 1.166: +28 -31 lines
Diff to previous 1.166 (unified)

auto-merge of changes from /proj/banyan/isms/irix/kern/fs/xfs/RCS/xfs_bmap.c,v
> ----------------------------
> revision 1.170
> date: 1996/01/30 19:08:21;  author: doucette;  state: Exp;  lines: +15 -22
> Change xfs_mod_incore_sb and friends to use field numbers instead of
> a bitmask for the sb fields, this makes the values passed be 32 not 64 bits.
> Change sequences of xfs_bmbt_set_{startoff,startblock,blockcount} to
> a single xfs_bmbt_set_allf call (new interface).
> ----------------------------
> revision 1.169
> date: 1996/01/28 08:48:22;  author: rcc;  state: Exp;  lines: +15 -11
> 341679 - add consistency checking to some of the bmap/bunmap
> routines.  they now check to make sure that the inode format
> field is sane.  if it isn't, they return EIO.
> =============================================================================

Revision 1.166 / (download) - annotate - [select for diffs], Tue Jan 16 03:54:28 1996 UTC (21 years, 9 months ago) by ack
Branch: MAIN
Changes since 1.165: +15 -9 lines
Diff to previous 1.165 (unified)

auto-merge of changes from /proj/banyan/isms/irix/kern/fs/xfs/RCS/xfs_bmap.c,v
> ----------------------------
> revision 1.168
> date: 1996/01/10 21:06:27;  author: ajs;  state: Exp;  lines: +16 -10
> 326000 Use the new xfs_btree_del_cursor interface.
> =============================================================================

Revision 1.165 / (download) - annotate - [select for diffs], Tue Oct 31 06:13:23 1995 UTC (21 years, 11 months ago) by ack
Branch: MAIN
Changes since 1.164: +2 -1 lines
Diff to previous 1.164 (unified)

auto-merge of changes from /proj/banyan/isms/irix/kern/fs/xfs/RCS/xfs_bmap.c,v
> ----------------------------
> revision 1.167
> date: 1995/10/28 02:10:22;  author: curtis;  state: Exp;  lines: +3 -2
> Change interface to directory routines (shortform_to_leaf).
> =============================================================================

Revision 1.164 / (download) - annotate - [select for diffs], Tue Oct 24 07:44:14 1995 UTC (21 years, 11 months ago) by ack
Branch: MAIN
Changes since 1.163: +0 -0 lines
Diff to previous 1.163 (unified)

auto-merge of changes from /hosts/clyde/proj/banyan/isms/irix/kern/fs/xfs/RCS/xfs_bmap.c,v
> ----------------------------
> revision 1.166
> date: 1995/10/13 16:11:18;  author: ajs;  state: Exp;  lines: +14 -14
> Put XFS tracing under ifdefs separate from DEBUG
> =============================================================================

Revision 1.163 / (download) - annotate - [select for diffs], Tue Oct 17 08:20:01 1995 UTC (22 years ago) by ack
Branch: MAIN
Changes since 1.162: +13 -13 lines
Diff to previous 1.162 (unified)

auto-merge of changes from /hosts/clyde/proj/banyan/isms/irix/kern/fs/xfs/RCS/xfs_bmap.c,v
> ----------------------------
> revision 1.166
> date: 1995/10/13 16:11:18;  author: ajs;  state: Exp;  lines: +14 -14
> Put XFS tracing under ifdefs separate from DEBUG
> =============================================================================

Revision 1.162 / (download) - annotate - [select for diffs], Tue Oct 10 10:45:40 1995 UTC (22 years ago) by ack
Branch: MAIN
Changes since 1.161: +9 -3 lines
Diff to previous 1.161 (unified)

auto-merge of changes from /hosts/clyde/proj/banyan/isms/irix/kern/fs/xfs/RCS/xfs_bmap.c,v
> ----------------------------
> revision 1.165
> date: 1995/10/06 20:13:31;  author: tap;  state: Exp;  lines: +7 -3
> fix bug in xfs_getbmap() that did not return the correct disk block
> number of extents in the realtime partition.
> ----------------------------
> revision 1.164
> date: 1995/10/05 01:04:44;  author: ajs;  state: Exp;  lines: +4 -2
> 310776 Fix the code that bumps the superblock version number
> not to hold the spinlock across calls that can sleep.
> ----------------------------
> revision 1.163
> date: 1995/10/04 00:47:26;  author: ajs;  state: Exp;  lines: +9 -1
> 310776 Back out last change.
> ----------------------------
> revision 1.162
> date: 1995/10/03 23:06:19;  author: ajs;  state: Exp;  lines: +2 -10
> 310776 No need to bump the superblock version number
> when adding attributes since we now always bump it to
> support the new inode format.
> =============================================================================

Revision 1.161 / (download) - annotate - [select for diffs], Tue Oct 3 04:19:31 1995 UTC (22 years ago) by ack
Branch: MAIN
Changes since 1.160: +48 -1 lines
Diff to previous 1.160 (unified)

auto-merge of changes from /hosts/clyde/proj/banyan/isms/irix/kern/fs/xfs/RCS/xfs_bmap.c,v
> ----------------------------
> revision 1.161
> date: 1995/09/23 23:45:34;  author: doucette;  state: Exp;  lines: +48 -1
> Add new simplified bmap routine xfs_bmapi_single which does read-only
> one block bmaps at lower cost than xfs_bmapi.
> =============================================================================

Revision 1.160 / (download) - annotate - [select for diffs], Fri Sep 22 09:47:38 1995 UTC (22 years ago) by ack
Branch: MAIN
Changes since 1.159: +14 -13 lines
Diff to previous 1.159 (unified)

auto-merge of changes from /hosts/clyde/proj/banyan/isms/irix/kern/fs/xfs/RCS/xfs_bmap.c,v
> ----------------------------
> revision 1.160
> date: 1995/09/22 02:24:03;  author: doucette;  state: Exp;  lines: +14 -13
> In search-extents, notice the lookup of block 0 and special-case it.
> Minor speedups in xfs_bmapi.
> =============================================================================

Revision 1.159 / (download) - annotate - [select for diffs], Wed Aug 30 22:36:08 1995 UTC (22 years, 1 month ago) by doucette
Branch: MAIN
Changes since 1.158: +2 -2 lines
Diff to previous 1.158 (unified)

Make the include of sys/buf.h be under #define _KERNEL for the simulation.

Revision 1.158 / (download) - annotate - [select for diffs], Wed Aug 16 23:49:05 1995 UTC (22 years, 2 months ago) by doucette
Branch: MAIN
Changes since 1.157: +2 -0 lines
Diff to previous 1.157 (unified)

Ifdef out some global data used only in DEBUG kernels but defined
in all kernels.

Revision 1.157 / (download) - annotate - [select for diffs], Wed Aug 16 05:45:55 1995 UTC (22 years, 2 months ago) by doucette
Branch: MAIN
Changes since 1.156: +3 -1 lines
Diff to previous 1.156 (unified)

Add includes of xfs_macros.h, xfs_bit.h.

Revision 1.156 / (download) - annotate - [select for diffs], Tue Jul 18 23:08:01 1995 UTC (22 years, 3 months ago) by tap
Branch: MAIN
Changes since 1.155: +2 -1 lines
Diff to previous 1.155 (unified)

fix bug in xfs_bunmapi(). error was not initialized and if the file
did not contain any extents done would be set to 1 and error would be
returned without being set.

Revision 1.155 / (download) - annotate - [select for diffs], Tue Jun 13 20:37:20 1995 UTC (22 years, 4 months ago) by doucette
Branch: MAIN
Changes since 1.154: +1 -1 lines
Diff to previous 1.154 (unified)

Fix xfs_bmap_first_unused, has an off-by-one error so that if seeking
for a hole of size x, would reject a hole smaller than size x + 1.

Revision 1.154 / (download) - annotate - [select for diffs], Thu Jun 8 18:35:38 1995 UTC (22 years, 4 months ago) by doucette
Branch: MAIN
Changes since 1.153: +6 -4 lines
Diff to previous 1.153 (unified)

Add btree block readahead.

Revision 1.153 / (download) - annotate - [select for diffs], Fri May 26 00:57:06 1995 UTC (22 years, 4 months ago) by doucette
Branch: MAIN
Changes since 1.152: +12 -1 lines
Diff to previous 1.152 (unified)

Put the attribute fork info (i_af) into a zone-allocated structure
pointed to by i_afp, to save memory for inodes that don't use attributes.

Allow di_aformat to be 0 for old inodes, convert to real format when
we convert the inode the first time.

Revision 1.152 / (download) - annotate - [select for diffs], Wed May 24 22:29:28 1995 UTC (22 years, 4 months ago) by doucette
Branch: MAIN
Changes since 1.151: +18 -8 lines
Diff to previous 1.151 (unified)

Set if_ext_max for both data and attribute forks, if we don't reset
i_df.if_ext_max then it's too large.
Make forkoff smaller for dev nodes, they can't grow.

Revision 1.151 / (download) - annotate - [select for diffs], Mon May 22 23:19:45 1995 UTC (22 years, 5 months ago) by doucette
Branch: MAIN
Changes since 1.150: +1 -0 lines
Diff to previous 1.150 (unified)

Set if_ext_max for inodes newly converted to attributed, else it
will be 0.

Revision 1.150 / (download) - annotate - [select for diffs], Sat May 20 02:27:18 1995 UTC (22 years, 5 months ago) by doucette
Branch: MAIN
Changes since 1.149: +23 -12 lines
Diff to previous 1.149 (unified)

Make xfs_getbmap support both forks.  Add a couple of asserts in xfs_bmapi
that we're not converting or logging on a read-bmap.

Revision 1.149 / (download) - annotate - [select for diffs], Sat May 20 00:19:48 1995 UTC (22 years, 5 months ago) by doucette
Branch: MAIN
Changes since 1.148: +154 -90 lines
Diff to previous 1.148 (unified)

Fix tracing of bmap extents and bmap btree entries to use correct
fork (data or attribute).

Revision 1.148 / (download) - annotate - [select for diffs], Fri May 19 22:41:52 1995 UTC (22 years, 5 months ago) by doucette
Branch: MAIN
Changes since 1.147: +5 -4 lines
Diff to previous 1.147 (unified)

More progress on attributes: fix the transaction reservation in
xfs_bmap_add_attrfork (to be permanent).  Hold the vnode so it won't
go away at transaction commit.

Revision 1.147 / (download) - annotate - [select for diffs], Fri May 19 02:00:53 1995 UTC (22 years, 5 months ago) by curtis
Branch: MAIN
Changes since 1.146: +2 -2 lines
Diff to previous 1.146 (unified)

Change name of xfs_da_name_t to xfs_da_args_t

Revision 1.146 / (download) - annotate - [select for diffs], Thu May 18 21:27:00 1995 UTC (22 years, 5 months ago) by doucette
Branch: MAIN
Changes since 1.145: +217 -2 lines
Diff to previous 1.145 (unified)

Add xfs_bmap_add_attrfork routine for attribute code to call.

Revision 1.145 / (download) - annotate - [select for diffs], Wed May 17 23:09:04 1995 UTC (22 years, 5 months ago) by curtis
Branch: MAIN
Changes since 1.144: +5 -3 lines
Diff to previous 1.144 (unified)

Change interface to first_unused to take a length.  Used to find a hole
of at least a given size.

Revision 1.144 / (download) - annotate - [select for diffs], Tue May 9 22:29:32 1995 UTC (22 years, 5 months ago) by doucette
Branch: MAIN
Changes since 1.143: +33 -0 lines
Diff to previous 1.143 (unified)

Add routine xfs_bmap_one_block to be called by xfs_da code, checking
for 1-block (leaf only) files.

Revision 1.143 / (download) - annotate - [select for diffs], Tue May 9 21:21:20 1995 UTC (22 years, 5 months ago) by doucette
Branch: MAIN
Changes since 1.142: +326 -247 lines
Diff to previous 1.142 (unified)

Add support for in-core and on-disk inodes with both data and
attribute forks, or just a data fork.  Change all the data structures
and macros used to manipulate the variable portion of the inode, to
support this feature.

Revision 1.142 / (download) - annotate - [select for diffs], Mon May 8 19:54:10 1995 UTC (22 years, 5 months ago) by curtis
Branch: MAIN
Changes since 1.141: +3 -2 lines
Diff to previous 1.141 (unified)

Changed include sequences as a result of new attribute/directory includes.

Revision 1.141 / (download) - annotate - [select for diffs], Sat Apr 29 17:22:41 1995 UTC (22 years, 5 months ago) by tap
Branch: MAIN
Changes since 1.140: +14 -7 lines
Diff to previous 1.140 (unified)

fix bug in xfs_bmap_alloc() so that the correct parameters are passed to
xfs_rtallocate_extent. The problem occured when a process tried to
allocate space for a file with a fixed extent size that was larger than
the extent size for the file system.

Revision 1.140 / (download) - annotate - [select for diffs], Wed Apr 26 22:49:37 1995 UTC (22 years, 5 months ago) by ajs
Branch: MAIN
Changes since 1.139: +0 -0 lines
Diff to previous 1.139 (unified)

Fixing up recovery from disk errors.

Revision 1.139 / (download) - annotate - [select for diffs], Thu Apr 13 03:14:29 1995 UTC (22 years, 6 months ago) by ajs
Branch: MAIN
Changes since 1.138: +553 -198 lines
Diff to previous 1.138 (unified)

First cut at disk error handling

Revision 1.138 / (download) - annotate - [select for diffs], Fri Mar 31 20:05:10 1995 UTC (22 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.137: +2 -1 lines
Diff to previous 1.137 (unified)

Include xfs_dir.h before xfs_dinode.h since the dinode union now
includes a shortform directory.

Revision 1.137 / (download) - annotate - [select for diffs], Tue Mar 28 16:42:54 1995 UTC (22 years, 6 months ago) by tap
Branch: MAIN
Changes since 1.136: +35 -15 lines
Diff to previous 1.136 (unified)

add code to the xfs_getbmap() routine to handle files with prealloced
data space.

Revision 1.136 / (download) - annotate - [select for diffs], Fri Mar 10 22:34:47 1995 UTC (22 years, 7 months ago) by doucette
Branch: MAIN
Changes since 1.135: +5 -8 lines
Diff to previous 1.135 (unified)

Fix bug 265637.  Use bcopy, ovbcopy in places where we used loops to
insert or delete entries from arrays, to speed it up.

Revision 1.135 / (download) - annotate - [select for diffs], Thu Mar 2 02:02:00 1995 UTC (22 years, 7 months ago) by ajs
Branch: MAIN
Changes since 1.134: +2 -4 lines
Diff to previous 1.134 (unified)

Use new xfs_file_last_byte() to calculate the byte up to
which to flush a file.

Revision 1.134 / (download) - annotate - [select for diffs], Tue Feb 28 01:08:32 1995 UTC (22 years, 7 months ago) by doucette
Branch: MAIN
Changes since 1.133: +50 -26 lines
Diff to previous 1.133 (unified)

Change the code tracing bmap btree records to use ps-unsigneds instead
of unsigned longs.  Part of 32-vs-64 bit types in xfs_bmap_rec types.

Revision 1.133 / (download) - annotate - [select for diffs], Thu Feb 23 00:56:53 1995 UTC (22 years, 7 months ago) by doucette
Branch: MAIN
Changes since 1.132: +284 -280 lines
Diff to previous 1.132 (unified)

Put the argument structures for xfs_bmap_alloc and xfs_alloc_vextent
on the stack instead of in the heap.  Move locals for xfs_bmapi and
xfs_bmbt_* routines from the heap to the stack.

Revision 1.132 / (download) - annotate - [select for diffs], Wed Feb 22 20:46:32 1995 UTC (22 years, 7 months ago) by doucette
Branch: MAIN
Changes since 1.131: +54 -49 lines
Diff to previous 1.131 (unified)

Fix bugs 263156, 263632 - enable 64-bit file sizes in 64-bit kernels.

Revision 1.131 / (download) - annotate - [select for diffs], Tue Jan 31 21:06:11 1995 UTC (22 years, 8 months ago) by doucette
Branch: MAIN
Changes since 1.130: +2 -3 lines
Diff to previous 1.130 (unified)

Use the precomputed value of maxrecs for xfs_bmbt structures, instead
of using the macro XFS_BTREE_BLOCK_MAXRECS.

Revision 1.130 / (download) - annotate - [select for diffs], Tue Jan 31 18:58:09 1995 UTC (22 years, 8 months ago) by doucette
Branch: MAIN
Changes since 1.129: +5 -8 lines
Diff to previous 1.129 (unified)

Warning elimination: remove unused variables, tag some routines ARGSUSED,
add return statements, ifdef out some code.

Revision 1.129 / (download) - annotate - [select for diffs], Tue Jan 31 01:52:12 1995 UTC (22 years, 8 months ago) by doucette
Branch: MAIN
Changes since 1.128: +7 -6 lines
Diff to previous 1.128 (unified)

Fix bug 254266 - partial deletion of a delayed allocation extent
could cause assertion or corruption (nonDEBUG) since the new calculated
indirect block count might be too high.

Revision 1.128 / (download) - annotate - [select for diffs], Fri Dec 30 23:49:55 1994 UTC (22 years, 9 months ago) by doucette
Branch: MAIN
Changes since 1.127: +8 -3 lines
Diff to previous 1.127 (unified)

Move #include for sys/param.h inside #define _KERNEL 1 to make
ragnarok compile errors go away, for cmd/xfs/sim.

Revision 1.127 / (download) - annotate - [select for diffs], Thu Dec 22 00:33:25 1994 UTC (22 years, 10 months ago) by tap
Branch: MAIN
Changes since 1.126: +36 -20 lines
Diff to previous 1.126 (unified)

add types casts and cleanup code so that file will compile without warnings.

Revision 1.126 / (download) - annotate - [select for diffs], Wed Dec 7 23:19:26 1994 UTC (22 years, 10 months ago) by tap
Branch: MAIN
Changes since 1.125: +18 -2 lines
Diff to previous 1.125 (unified)

fix bug in xfs_bunmapi(). When truncating a realtime file, make sure
that bno and len are realtime extent aligned.

Revision 1.125 / (download) - annotate - [select for diffs], Tue Nov 15 22:16:16 1994 UTC (22 years, 11 months ago) by tap
Branch: MAIN
Changes since 1.124: +2 -1 lines
Diff to previous 1.124 (unified)

add include of xfs_itable.h to get define of XFS_DIFLAG_REALTIME.

Revision 1.124 / (download) - annotate - [select for diffs], Tue Nov 15 17:57:13 1994 UTC (22 years, 11 months ago) by ajs
Branch: MAIN
Changes since 1.123: +3 -2 lines
Diff to previous 1.123 (unified)

Extend the range flushed in xfs_getbmap() to account for
over allocated blocks.

Revision 1.123 / (download) - annotate - [select for diffs], Tue Oct 18 20:08:34 1994 UTC (23 years ago) by doucette
Branch: MAIN
Changes since 1.122: +12 -11 lines
Diff to previous 1.122 (unified)

Fix bug in the termination conditions for xfs_getbmap, where the
remaining length field passed back could be <0 instead of 0, especially
for blocksize > 512.  This would cause a subsequent call to return EINVAL.
Also toss blocks past i_size, since they also confuse the remaining
length value.

Revision 1.122 / (download) - annotate - [select for diffs], Tue Oct 11 22:06:22 1994 UTC (23 years ago) by doucette
Branch: MAIN
Changes since 1.121: +15 -1 lines
Diff to previous 1.121 (unified)

#ifndef SIM code not needed for programs linking with libsim.a, to
make them smaller.

Revision 1.121 / (download) - annotate - [select for diffs], Tue Oct 4 17:26:55 1994 UTC (23 years ago) by tap
Branch: MAIN
Changes since 1.120: +2 -2 lines
Diff to previous 1.120 (unified)

fix di_nblock accounting for realtime files.

Revision 1.120 / (download) - annotate - [select for diffs], Fri Sep 30 00:22:54 1994 UTC (23 years ago) by doucette
Branch: MAIN
Changes since 1.119: +17 -2 lines
Diff to previous 1.119 (unified)

Add a rotor to the code in xfs_bmap_alloc selecting the initial
block to try for realtime files, so it will allocate from multiple
different bitmap blocks over time.  This improves the behavior of the
summary code, so it won't scan multiple bitmap blocks all the time.

Revision 1.119 / (download) - annotate - [select for diffs], Thu Sep 29 17:03:17 1994 UTC (23 years ago) by doucette
Branch: MAIN
Changes since 1.118: +2 -2 lines
Diff to previous 1.118 (unified)

Reorder includes so simulation will build again.

Revision 1.118 / (download) - annotate - [select for diffs], Wed Sep 28 23:28:42 1994 UTC (23 years ago) by ajs
Branch: MAIN
Changes since 1.117: +8 -0 lines
Diff to previous 1.117 (unified)

Add a call to remapf() before the pflushvp() in
xfs_getbmap() to ensure that we handle mapped files
correctly.

Revision 1.117 / (download) - annotate - [select for diffs], Fri Sep 23 16:45:32 1994 UTC (23 years ago) by ajs
Branch: MAIN
Changes since 1.116: +11 -11 lines
Diff to previous 1.116 (unified)

Change xfs_bmapi() to allocate no more than the given
number of extents, even if those allocated are outside
the range returned to the caller.

Revision 1.116 / (download) - annotate - [select for diffs], Fri Sep 9 22:04:41 1994 UTC (23 years, 1 month ago) by ajs
Branch: MAIN
Changes since 1.115: +10 -3 lines
Diff to previous 1.115 (unified)

Make the flush call in xfs_getbmap() more accurate.

Revision 1.115 / (download) - annotate - [select for diffs], Thu Sep 8 23:50:48 1994 UTC (23 years, 1 month ago) by doucette
Branch: MAIN
Changes since 1.114: +1 -1 lines
Diff to previous 1.114 (unified)

Fix conversion of extents to btree format for rt files, could pop assert
in xfs_bmapi because firstblock value got lost.

Revision 1.114 / (download) - annotate - [select for diffs], Thu Sep 8 20:29:55 1994 UTC (23 years, 1 month ago) by doucette
Branch: MAIN
Changes since 1.113: +12 -2 lines
Diff to previous 1.113 (unified)

Add xfs statistics support for osview (per-processor counters for
file system actions).

Revision 1.113 / (download) - annotate - [select for diffs], Thu Sep 8 03:24:02 1994 UTC (23 years, 1 month ago) by ajs
Branch: MAIN
Changes since 1.112: +30 -9 lines
Diff to previous 1.112 (unified)

Change xfs_bmap_finish() not to make its transactions
synchronous.  This is now handled at the layer above.
Change xfs_bunmapi() to take a flags parameter so that
we can tell it whether we are unmapping data or metadata.

Revision 1.112 / (download) - annotate - [select for diffs], Wed Sep 7 22:09:23 1994 UTC (23 years, 1 month ago) by ajs
Branch: MAIN
Changes since 1.111: +2 -1 lines
Diff to previous 1.111 (unified)

Add another ASSERT to xfs_getbmap() to catch flushing
problems earlier.

Revision 1.111 / (download) - annotate - [select for diffs], Fri Sep 2 23:03:11 1994 UTC (23 years, 1 month ago) by doucette
Branch: MAIN
Changes since 1.110: +2 -1 lines
Diff to previous 1.110 (unified)

For fixed-size non-rt extents, allow the allocation to be off it's
natural boundary in the file, and set mod accordingly.

Revision 1.110 / (download) - annotate - [select for diffs], Fri Sep 2 22:09:51 1994 UTC (23 years, 1 month ago) by doucette
Branch: MAIN
Changes since 1.109: +10 -3 lines
Diff to previous 1.109 (unified)

Support for xfs_bmapi's XFS_BMAPI_EXACT flag added: for allocations
converting delayed to real extents, don't expand the allocation to cover
the whole extent.

Revision 1.109 / (download) - annotate - [select for diffs], Fri Sep 2 21:18:25 1994 UTC (23 years, 1 month ago) by doucette
Branch: MAIN
Changes since 1.108: +1 -1 lines
Diff to previous 1.108 (unified)

Fix F_GETBMAP fcntl bug - the disk addresses were incorrect
since they were converted from fsblocks to bb's instead of to daddr's.

Revision 1.108 / (download) - annotate - [select for diffs], Fri Sep 2 20:26:25 1994 UTC (23 years, 1 month ago) by doucette
Branch: MAIN
Changes since 1.107: +49 -13 lines
Diff to previous 1.107 (unified)

Fix a bug in xfs_bmapi where firstblock was not copied out from calling
xfs_bmap_alloc, into the cursor.
Make sure to set minleft to 0 if we go to lowmode.
Add a bunch of asserts to see that firstblock doesn't go backwards.
In xfs_bmap_alloc normal case, try to allocate minlen == maxlen first,
to reduce the times we force an a.g. to become completely empty
before moving on.

Revision 1.107 / (download) - annotate - [select for diffs], Sat Aug 13 00:49:46 1994 UTC (23 years, 2 months ago) by ajs
Branch: MAIN
Changes since 1.106: +8 -2 lines
Diff to previous 1.106 (unified)

In xfs_bmapi(), make sure that minlen is set to 1 if
xfs_alloc_extent returns in lowspace mode.  Not doing
so causes subsequent allocations in the loop to fail.

Revision 1.106 / (download) - annotate - [select for diffs], Wed Jul 27 22:00:02 1994 UTC (23 years, 2 months ago) by ajs
Branch: MAIN
Changes since 1.105: +2 -4 lines
Diff to previous 1.105 (unified)

In xfs_bmap_finish(), don't reserve more blocks.  They've
been inherited already via xfs_trans_dup().

Revision 1.105 / (download) - annotate - [select for diffs], Fri Jul 22 01:14:08 1994 UTC (23 years, 3 months ago) by doucette
Branch: MAIN
Changes since 1.104: +160 -180 lines
Diff to previous 1.104 (unified)

Add a kmem zone for bmalloc_t structures.
Add a kmem zone for bmapi's locals and put all the locals in it.

Revision 1.104 / (download) - annotate - [select for diffs], Sat Jun 25 21:42:41 1994 UTC (23 years, 3 months ago) by ajs
Branch: MAIN
Changes since 1.103: +95 -2 lines
Diff to previous 1.103 (unified)

Fix a bug in xfs_bmapi() that would cause it to return data
the caller did not ask for.
Remove include of obsolete xfs_bio.h.

Revision 1.103 / (download) - annotate - [select for diffs], Wed Jun 15 18:08:03 1994 UTC (23 years, 4 months ago) by doucette
Branch: MAIN
Changes since 1.102: +133 -126 lines
Diff to previous 1.102 (unified)

Make arguments to xfs_bmap_alloc into a structure, allocated from the
heap, to save stack space.

Revision 1.102 / (download) - annotate - [select for diffs], Tue Jun 14 18:15:13 1994 UTC (23 years, 4 months ago) by doucette
Branch: MAIN
Changes since 1.101: +91 -6 lines
Diff to previous 1.101 (unified)

Add xfs_getbmap routine to support fcntl F_GETBMAP.

Revision 1.101 / (download) - annotate - [select for diffs], Tue Jun 14 01:05:24 1994 UTC (23 years, 4 months ago) by ajs
Branch: MAIN
Changes since 1.100: +8 -13 lines
Diff to previous 1.100 (unified)

Change bmap_finish so that we make sure the EFI is permanently
on disk before actually freeing any of the blocks.

Revision 1.100 / (download) - annotate - [select for diffs], Thu Jun 9 19:38:35 1994 UTC (23 years, 4 months ago) by wei_hu
Branch: MAIN
Changes since 1.99: +1 -2 lines
Diff to previous 1.99 (unified)

Eliminate include of <sys/uuid.h>.

Revision 1.99 / (download) - annotate - [select for diffs], Thu Jun 9 01:16:59 1994 UTC (23 years, 4 months ago) by miken
Branch: MAIN
Changes since 1.98: +10 -6 lines
Diff to previous 1.98 (unified)

Use new log reservation scheme

Revision 1.98 / (download) - annotate - [select for diffs], Fri Jun 3 00:02:49 1994 UTC (23 years, 4 months ago) by doucette
Branch: MAIN
Changes since 1.97: +7 -3 lines
Diff to previous 1.97 (unified)

Fix xfs_bunmapi bug which caused us to give "negative" length extent to
the delete code.

Revision 1.97 / (download) - annotate - [select for diffs], Thu Jun 2 22:44:44 1994 UTC (23 years, 4 months ago) by doucette
Branch: MAIN
Changes since 1.96: +2 -0 lines
Diff to previous 1.96 (unified)

Add more asserts in xfs_bmap_add_free so we'll panic if we get
handed a "negative" length.

Revision 1.96 / (download) - annotate - [select for diffs], Thu Jun 2 02:02:16 1994 UTC (23 years, 4 months ago) by doucette
Branch: MAIN
Changes since 1.95: +1 -0 lines
Diff to previous 1.95 (unified)

Fix bugs in di_nblocks accounting, missed some block frees.

Revision 1.95 / (download) - annotate - [select for diffs], Fri May 27 01:47:03 1994 UTC (23 years, 4 months ago) by doucette
Branch: MAIN
Changes since 1.94: +2 -0 lines
Diff to previous 1.94 (unified)

Fix popping assert due to calls to xfs_trans_binval on buffers
that had also been xfs_trans_brelse'd.

Revision 1.94 / (download) - annotate - [select for diffs], Thu May 26 23:05:13 1994 UTC (23 years, 4 months ago) by doucette
Branch: MAIN
Changes since 1.93: +14 -11 lines
Diff to previous 1.93 (unified)

Call xfs_trans_binval to invalidate buffers for blocks that are
now metadata and are or might become user data.

Revision 1.93 / (download) - annotate - [select for diffs], Mon May 23 23:10:17 1994 UTC (23 years, 4 months ago) by doucette
Branch: MAIN
Changes since 1.92: +76 -70 lines
Diff to previous 1.92 (unified)

Allocate xfs_alloc_arg_t's from a zone instead of on the stack,
to reduce stack space used.

Revision 1.92 / (download) - annotate - [select for diffs], Mon May 23 21:49:14 1994 UTC (23 years, 4 months ago) by ajs
Branch: MAIN
Changes since 1.91: +2 -6 lines
Diff to previous 1.91 (unified)

Move ktrace buffer and zone allocator initialization to xfs_init().

Revision 1.91 / (download) - annotate - [select for diffs], Fri May 20 23:41:51 1994 UTC (23 years, 5 months ago) by doucette
Branch: MAIN
Changes since 1.90: +3 -1 lines
Diff to previous 1.90 (unified)

Fix bug in xfs_bmap_alloc, not copying length back out to caller.
Caused massive fs corruptions.

Revision 1.90 / (download) - annotate - [select for diffs], Fri May 20 02:01:19 1994 UTC (23 years, 5 months ago) by doucette
Branch: MAIN
Changes since 1.89: +108 -98 lines
Diff to previous 1.89 (unified)

Convert xfs_alloc_vextent to take an xfs_alloc_arg_t* as an argument,
and all its callers to pass one in.  Saves a bunch of stack space.

Revision 1.89 / (download) - annotate - [select for diffs], Thu May 19 17:14:48 1994 UTC (23 years, 5 months ago) by doucette
Branch: MAIN
Changes since 1.88: +6 -2 lines
Diff to previous 1.88 (unified)

Remove xfs_alloc_extent, replace calls to it, with calls to xfs_alloc_vextent.

Revision 1.88 / (download) - annotate - [select for diffs], Wed May 18 16:34:06 1994 UTC (23 years, 5 months ago) by doucette
Branch: MAIN
Changes since 1.87: +44 -27 lines
Diff to previous 1.87 (unified)

Add lowspace argument & cursor field (change wasdel to flags bits),
so lowspace algorithm gets propagated everywhere.

Revision 1.87 / (download) - annotate - [select for diffs], Wed May 18 02:12:14 1994 UTC (23 years, 5 months ago) by doucette
Branch: MAIN
Changes since 1.86: +4 -6 lines
Diff to previous 1.86 (unified)

Add a "minleft" argument to allocation interfaces, requiring that many
blocks to be left in the allocation group after this allocation is done.

Revision 1.86 / (download) - annotate - [select for diffs], Sun May 15 06:03:25 1994 UTC (23 years, 5 months ago) by doucette
Branch: MAIN
Changes since 1.85: +39 -34 lines
Diff to previous 1.85 (unified)

Add per-inode tracing of bmap extent activity.
Minor changes to xfs_bmap_read_extents.

Revision 1.85 / (download) - annotate - [select for diffs], Fri May 13 01:13:37 1994 UTC (23 years, 5 months ago) by doucette
Branch: MAIN
Changes since 1.84: +5 -3 lines
Diff to previous 1.84 (unified)

Fix a trace entry for add_extent_delay_real.
Fix indirect block accounting for a couple of add_extent_delay_real cases,
needed to look at the old delayed-indirect count before assigning the new one.

Revision 1.84 / (download) - annotate - [select for diffs], Wed May 11 18:16:14 1994 UTC (23 years, 5 months ago) by doucette
Branch: MAIN
Changes since 1.83: +30 -42 lines
Diff to previous 1.83 (unified)

Fix bug in conversion from btree to extents format, was not logging
the extents list.
Put the inode number in the bmap extents logging, change interfaces
for tracing a little to make room for it.

Revision 1.83 / (download) - annotate - [select for diffs], Wed May 11 00:43:44 1994 UTC (23 years, 5 months ago) by doucette
Branch: MAIN
Changes since 1.82: +299 -0 lines
Diff to previous 1.82 (unified)

Add extent list tracing support: idbg xbxatrace, xbxstrace commands.

Revision 1.82 / (download) - annotate - [select for diffs], Wed May 4 00:20:49 1994 UTC (23 years, 5 months ago) by doucette
Branch: MAIN
Changes since 1.81: +3 -2 lines
Diff to previous 1.81 (unified)

Add new include file xfs_ialloc_btree.h.  Caused some include reordering.

Revision 1.81 / (download) - annotate - [select for diffs], Thu Apr 28 01:24:37 1994 UTC (23 years, 5 months ago) by doucette
Branch: MAIN
Changes since 1.80: +21 -5 lines
Diff to previous 1.80 (unified)

Add wasdel field to bmap cursor, use it in bmap btree code.

Revision 1.80 / (download) - annotate - [select for diffs], Tue Apr 26 00:38:23 1994 UTC (23 years, 5 months ago) by doucette
Branch: MAIN
Changes since 1.79: +6 -3 lines
Diff to previous 1.79 (unified)

Fix bug in xfs_bmap_add_extent with cursor handling, causing assert
to pop in xfs_btree_del_cursor.

Revision 1.79 / (download) - annotate - [select for diffs], Sat Apr 23 17:57:39 1994 UTC (23 years, 5 months ago) by doucette
Branch: MAIN
Changes since 1.78: +4 -2 lines
Diff to previous 1.78 (unified)

Add maxrecs argument to XFS_BTREE_REC_ADDR, XFS_BTREE_KEY_ADDR, and
XFS_BTREE_PTR_ADDR to allow optimization in cases where the value
has been precomputed.

Revision 1.78 / (download) - annotate - [select for diffs], Fri Apr 22 22:58:03 1994 UTC (23 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.77: +19 -19 lines
Diff to previous 1.77 (unified)

Change variable names from buf to bp to avoid global buf; also change
...buf to ...bp for consistency.

Revision 1.77 / (download) - annotate - [select for diffs], Wed Apr 20 18:57:24 1994 UTC (23 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.76: +4 -1 lines
Diff to previous 1.76 (unified)

Add asserts in trying to track down btree-root problems.

Revision 1.76 / (download) - annotate - [select for diffs], Tue Apr 19 21:41:47 1994 UTC (23 years, 6 months ago) by ajs
Branch: MAIN
Changes since 1.75: +10 -6 lines
Diff to previous 1.75 (unified)

Fix xfs_bmapi() to not return overlapping extents.

Revision 1.75 / (download) - annotate - [select for diffs], Tue Apr 19 20:42:44 1994 UTC (23 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.74: +43 -21 lines
Diff to previous 1.74 (unified)

Add checks for extents that are too large for their blockcount to fit,
both in xfs_bmapi and in the xfs_bmap_add_extent_... routines.

Revision 1.74 / (download) - annotate - [select for diffs], Tue Apr 19 17:05:39 1994 UTC (23 years, 6 months ago) by tap
Branch: MAIN
Changes since 1.73: +5 -2 lines
Diff to previous 1.73 (unified)

call the xfs_rtfree_extent() routine and pass the number of the starting
extent rather than the starting file system block number.

Revision 1.73 / (download) - annotate - [select for diffs], Tue Apr 19 16:32:13 1994 UTC (23 years, 6 months ago) by tap
Branch: MAIN
Changes since 1.72: +9 -3 lines
Diff to previous 1.72 (unified)

call the xfs_rtfree_extent() routine with the number of extents to free not
the number of file system blocks.

Revision 1.72 / (download) - annotate - [select for diffs], Sun Apr 17 23:34:24 1994 UTC (23 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.71: +38 -38 lines
Diff to previous 1.71 (unified)

Change "functional" macros' names from lower to uppercase, for consistency
with everything else.

Revision 1.71 / (download) - annotate - [select for diffs], Fri Apr 15 23:24:25 1994 UTC (23 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.70: +4 -4 lines
Diff to previous 1.70 (unified)

In reading extents out of btree format files we were using
XFS_BMAP_BROOT_PTR_ADDR with a size of inodesize instead of i_broot_bytes!
Also fix the new asserts to check vs. NULLDFSBNO instead of NULLFSBLOCK.

Revision 1.70 / (download) - annotate - [select for diffs], Fri Apr 15 22:50:48 1994 UTC (23 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.69: +11 -3 lines
Diff to previous 1.69 (unified)

Fix bug in code that converts btree-format file's extents into an
extent list, it was referencing a buffer after brelse'ing it.
Add some asserts to that code, too.

Revision 1.69 / (download) - annotate - [select for diffs], Fri Apr 15 20:24:24 1994 UTC (23 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.68: +37 -3 lines
Diff to previous 1.68 (unified)

Compute maximum number of btree levels based on the fs parameters instead
of using a constant worst-case.

Revision 1.68 / (download) - annotate - [select for diffs], Fri Apr 15 14:55:40 1994 UTC (23 years, 6 months ago) by tap
Branch: MAIN
Changes since 1.67: +2 -1 lines
Diff to previous 1.67 (unified)

add "sys/uuid.h" include file.

Revision 1.67 / (download) - annotate - [select for diffs], Fri Apr 15 01:57:57 1994 UTC (23 years, 6 months ago) by ajs
Branch: MAIN
Changes since 1.66: +5 -2 lines
Diff to previous 1.66 (unified)

Relax the assert on the number of records given to xfs_bmap(),
fix a small bug in xfs_bunmapi() (reset ep after a possible
xfs_iext_realloc()).

Revision 1.66 / (download) - annotate - [select for diffs], Thu Apr 14 22:50:46 1994 UTC (23 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.65: +21 -15 lines
Diff to previous 1.65 (unified)

Fix some types of bmap block pointers from xfs_bmbt_ptr_t to xfs_fsblock_t.
Fix some uses of NULLFSBLOCK to NULLFILEOFF or NULLDFSBNO.
Turn some more code on in #ifdef DEBUG instead of XFSDEBUG.

Revision 1.65 / (download) - annotate - [select for diffs], Thu Apr 14 00:19:28 1994 UTC (23 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.64: +36 -16 lines
Diff to previous 1.64 (unified)

Add a wasdelay argument to xfs_bmap_extents_to_btree.
Add an mp argument to xfs_bmap_add_free, for asserts.
Fix the reservation done by xfs_bmap_finish to include any realtime
blocks, for completeness' sake.  Fix a signed/unsigned problem in xfs_bunmapi.

Revision 1.64 / (download) - annotate - [select for diffs], Wed Apr 13 02:02:40 1994 UTC (23 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.63: +16 -25 lines
Diff to previous 1.63 (unified)

Use xfs_bmbt_block_t instead of generic xfs_btree_lblock_t,
and xfs_buf_to_bmbt_block instead of xfs_buf_to_lblock.
Change XFS_BMAP_EXT_MAXRECS to take mp as argument, it now gets the
answer directly from the mount structure.

Revision 1.63 / (download) - annotate - [select for diffs], Tue Apr 12 23:08:27 1994 UTC (23 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.62: +4 -5 lines
Diff to previous 1.62 (unified)

Fix calls to xfs_trans_log_ef{i,d}_extent, it only worked before if
there was only one entry to log.

Revision 1.62 / (download) - annotate - [select for diffs], Tue Apr 12 01:16:39 1994 UTC (23 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.61: +42 -48 lines
Diff to previous 1.61 (unified)

Split xfs_fsblock_t into multiple types.
Use mp instead of sbp in all the address macros.

Revision 1.61 / (download) - annotate - [select for diffs], Sat Apr 9 19:01:14 1994 UTC (23 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.60: +2 -2 lines
Diff to previous 1.60 (unified)

Fix missing comment termination, causing no blocks to be freed on
bunmap for regular files.

Revision 1.60 / (download) - annotate - [select for diffs], Fri Apr 8 04:28:42 1994 UTC (23 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.59: +136 -63 lines
Diff to previous 1.59 (unified)

Improve indirect delayed block accounting, it was broken for deletions
of delayed alloc blocks as well as other cases.

Revision 1.59 / (download) - annotate - [select for diffs], Wed Apr 6 22:57:32 1994 UTC (23 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.58: +1 -0 lines
Diff to previous 1.58 (unified)

In xfs_bunmapi, clear the cursor's allocated field before deleting the cursor.
We don't really care about this for unmap, but del_cursor would assert.

Revision 1.58 / (download) - annotate - [select for diffs], Wed Apr 6 21:28:42 1994 UTC (23 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.57: +6 -3 lines
Diff to previous 1.57 (unified)

Always clear bc_private.b.allocated at the end of xfs_bmap_add_extent,
so we don't trip asserts unnecessarily.

Revision 1.57 / (download) - annotate - [select for diffs], Wed Apr 6 16:48:19 1994 UTC (23 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.56: +96 -67 lines
Diff to previous 1.56 (unified)

Add some asserts in xfs_bmapi, to catch misbehavior of the extent manipulation
routines.  Fix a couple of problems in xfs_bmap_add_extent_delay_real.

Revision 1.56 / (download) - annotate - [select for diffs], Tue Apr 5 23:07:09 1994 UTC (23 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.55: +5 -2 lines
Diff to previous 1.55 (unified)

Fix null pointer crash found by miken in xfs_bmap_add_extent_delay_real.
Fix another null pointer problem, in xfs_bmap_last_offset on 0-length
extents files.

Revision 1.55 / (download) - annotate - [select for diffs], Fri Apr 1 23:12:59 1994 UTC (23 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.54: +394 -175 lines
Diff to previous 1.54 (unified)

Add delayed allocation indirect block accounting.  This changes NULLSTARTBLOCK
into a value containing the number of "extra" blocks reserved.

Revision 1.54 / (download) - annotate - [select for diffs], Tue Mar 29 00:59:27 1994 UTC (23 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.53: +6 -3 lines
Diff to previous 1.53 (unified)

Fix xfs_bmap_alloc to transform the inputs and outputs of xfs_rtalloc_extent
(both lengths and block numbers) to account for the rt extent size.

Revision 1.53 / (download) - annotate - [select for diffs], Thu Mar 24 22:20:25 1994 UTC (23 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.52: +17 -5 lines
Diff to previous 1.52 (unified)

Fix bug in xfs_bmap_alloc for realtime extents, getting the size
calculations wrong.
Implement incore inode field i_delayed_blks so getattr can return
the delayed blocks in the block count for a file.

Revision 1.52 / (download) - annotate - [select for diffs], Mon Mar 21 05:28:08 1994 UTC (23 years, 7 months ago) by doucette
Branch: MAIN
Changes since 1.51: +295 -183 lines
Diff to previous 1.51 (unified)

Add comments.  Clean up remaining xfs_bmap_add_extent_... routine plus
the xfs_bmap_delete_... routine.

Revision 1.51 / (download) - annotate - [select for diffs], Mon Mar 21 01:08:01 1994 UTC (23 years, 7 months ago) by doucette
Branch: MAIN
Changes since 1.50: +376 -300 lines
Diff to previous 1.50 (unified)

Add more comments.  Improve the add-extent routines by cutting down
on the number of locals and by turning them into switch statements
(two down, one to go).

Revision 1.50 / (download) - annotate - [select for diffs], Wed Mar 16 19:35:30 1994 UTC (23 years, 7 months ago) by doucette
Branch: MAIN
Changes since 1.49: +135 -73 lines
Diff to previous 1.49 (unified)

Add body of xfs_bmap_btree_to_extents (conversion of btree-format files
to extents-format when they shrink).  Fix interfaces for other conversion
routines.  Add some comments.

Revision 1.49 / (download) - annotate - [select for diffs], Tue Mar 15 23:47:00 1994 UTC (23 years, 7 months ago) by doucette
Branch: MAIN
Changes since 1.48: +36 -15 lines
Diff to previous 1.48 (unified)

Add inode field di_nblocks (number of direct and indirect fs blocks)
and keep track of it in the bmap code.

Revision 1.48 / (download) - annotate - [select for diffs], Sun Mar 13 21:03:46 1994 UTC (23 years, 7 months ago) by doucette
Branch: MAIN
Changes since 1.47: +62 -1 lines
Diff to previous 1.47 (unified)

Add xfs_bmap_first_unused and xfs_bmap_last_offset, routines for
directory space management to call.

Revision 1.47 / (download) - annotate - [select for diffs], Wed Mar 9 20:44:01 1994 UTC (23 years, 7 months ago) by ajs
Branch: MAIN
Changes since 1.46: +8 -2 lines
Diff to previous 1.46 (unified)

Fix xfs_bmapi() to return extents only in the region
asked for by the caller.

Revision 1.46 / (download) - annotate - [select for diffs], Mon Mar 7 21:38:57 1994 UTC (23 years, 7 months ago) by ajs
Branch: MAIN
Changes since 1.45: +11 -6 lines
Diff to previous 1.45 (unified)

Change xfs_bmap_finish() to take a commit flags parameter
and to return whether or not it committed.

Revision 1.45 / (download) - annotate - [select for diffs], Fri Mar 4 18:13:56 1994 UTC (23 years, 7 months ago) by tap
Branch: MAIN
Changes since 1.44: +8 -2 lines
Diff to previous 1.44 (unified)

rearranged order of include files: grio.h needs to be before xfs_inode.h

Revision 1.44 / (download) - annotate - [select for diffs], Tue Mar 1 22:43:55 1994 UTC (23 years, 7 months ago) by doucette
Branch: MAIN
Changes since 1.43: +15 -5 lines
Diff to previous 1.43 (unified)

Add arguments to xfs_bunmapi to support limiting the number of extents
freed in one transaction.

Revision 1.43 / (download) - annotate - [select for diffs], Tue Mar 1 01:32:03 1994 UTC (23 years, 7 months ago) by ajs
Branch: MAIN
Changes since 1.42: +12 -12 lines
Diff to previous 1.42 (unified)

Change xfs_bmapi() so that holes and delayed allocation
extents can be distinguished.  This takes the place of the
last change which ensured that they were never combined.

Revision 1.42 / (download) - annotate - [select for diffs], Mon Feb 28 21:47:29 1994 UTC (23 years, 7 months ago) by ajs
Branch: MAIN
Changes since 1.41: +8 -3 lines
Diff to previous 1.41 (unified)

Fix a small bug in xfs_bmap_search_extents() so we don't
reference a bad pointer.
Modify xfs_bmapi() so that delayed alloc extents and holes
are not merged in the read case.

Revision 1.41 / (download) - annotate - [select for diffs], Fri Feb 25 00:49:40 1994 UTC (23 years, 7 months ago) by doucette
Branch: MAIN
Changes since 1.40: +6 -2 lines
Diff to previous 1.40 (unified)

Make read past eof look like a hole to caller of xfs_bmapi.

Revision 1.40 / (download) - annotate - [select for diffs], Tue Feb 22 16:29:02 1994 UTC (23 years, 7 months ago) by tap
Branch: MAIN
Changes since 1.39: +2 -1 lines
Diff to previous 1.39 (unified)

add include file sys/grio.h.

Revision 1.39 / (download) - annotate - [select for diffs], Fri Feb 18 00:44:57 1994 UTC (23 years, 8 months ago) by doucette
Branch: MAIN
Changes since 1.38: +5 -0 lines
Diff to previous 1.38 (unified)

In xfs_bmapi, merge together output structures that are adjacent delayed
allocations just like we do for adjacent real allocations.

Revision 1.38 / (download) - annotate - [select for diffs], Thu Feb 17 21:34:08 1994 UTC (23 years, 8 months ago) by doucette
Branch: MAIN
Changes since 1.37: +2 -1 lines
Diff to previous 1.37 (unified)

Fix xfs_bmapi bug when doing a delayed allocate write on top of an old
delayed allocate write, it did the delayed allocate stuff again instead
of just returning the old entry.

Revision 1.37 / (download) - annotate - [select for diffs], Wed Feb 16 02:17:16 1994 UTC (23 years, 8 months ago) by doucette
Branch: MAIN
Changes since 1.36: +46 -14 lines
Diff to previous 1.36 (unified)

Add mod, prod arguments to xfs_alloc_vextent, for extent sizes.

Fix xfs_bmapi bug causing eof to get returned too early.

Revision 1.36 / (download) - annotate - [select for diffs], Thu Feb 10 21:12:32 1994 UTC (23 years, 8 months ago) by doucette
Branch: MAIN
Changes since 1.35: +60 -53 lines
Diff to previous 1.35 (unified)

Change flist variables to be local structures instead of pointers,
since they now contain a count and pointer to the items instead of just
the pointer.
Fix up xfs_bmap_finish: transaction reservations; single efi/efd allocations.

Revision 1.35 / (download) - annotate - [select for diffs], Thu Feb 10 00:38:08 1994 UTC (23 years, 8 months ago) by doucette
Branch: MAIN
Changes since 1.34: +12 -5 lines
Diff to previous 1.34 (unified)

Remove mp argument from xfs_rtallocate_extent, xfs_rtfree_extent.
Fix call to xfs_alloc_extent when firstblock not yet set.

Revision 1.34 / (download) - annotate - [select for diffs], Wed Feb 9 02:01:51 1994 UTC (23 years, 8 months ago) by doucette
Branch: MAIN
Changes since 1.33: +17 -13 lines
Diff to previous 1.33 (unified)

Add rt-extents-reserved argument to xfs_trans_reserve().
Make sure we don't ever set firstblock to the address of a realtime extent.
Make the first rt extent allocated for a file be a "anywhere" allocation.

Revision 1.33 / (download) - annotate - [select for diffs], Tue Feb 8 19:49:32 1994 UTC (23 years, 8 months ago) by doucette
Branch: MAIN
Changes since 1.32: +51 -26 lines
Diff to previous 1.32 (unified)

Add XFS_BMAPI_ENTIRE flag for xfs_bmapi callers.
Add basic realtime file support.

Revision 1.32 / (download) - annotate - [select for diffs], Tue Feb 1 02:31:13 1994 UTC (23 years, 8 months ago) by doucette
Branch: MAIN
Changes since 1.31: +2 -1 lines
Diff to previous 1.31 (unified)

Fix includes after splitting xfs_alloc_btree.h off from xfs_alloc.h.

Revision 1.31 / (download) - annotate - [select for diffs], Tue Feb 1 00:18:08 1994 UTC (23 years, 8 months ago) by doucette
Branch: MAIN
Changes since 1.30: +41 -1955 lines
Diff to previous 1.30 (unified)

Split btree code off into xfs_bmap_btree.c.

Revision 1.30 / (download) - annotate - [select for diffs], Mon Jan 31 19:47:21 1994 UTC (23 years, 8 months ago) by doucette
Branch: MAIN
Changes since 1.29: +107 -48 lines
Diff to previous 1.29 (unified)

Work out a few more xfs_bmapi bugs.  Fix a btree bug when root's only
child block needs to be deleted (was popping assert instead).  Move that
code into a routine (xfs_bmbt_killroot) so it can be used in two places.

Revision 1.29 / (download) - annotate - [select for diffs], Sat Jan 29 00:44:20 1994 UTC (23 years, 8 months ago) by doucette
Branch: MAIN
Changes since 1.28: +143 -44 lines
Diff to previous 1.28 (unified)

Add "was-delayed" argument to xfs_alloc_[v]extent to fix accounting of
freespace in the superblock.

Add kmem_check() calls in a bunch of places.  Change NULLFSBLOCK to
NULLSTARTBLOCK to fix a bunch of bmap bugs.  Fix a few more bmap and
bunmap bugs.  Merge together adjacent bmap output entries on-the-fly.

Revision 1.28 / (download) - annotate - [select for diffs], Thu Jan 27 21:44:40 1994 UTC (23 years, 8 months ago) by doucette
Branch: MAIN
Changes since 1.27: +291 -170 lines
Diff to previous 1.27 (unified)

Finish xfs_bunmapi and xfs_bmap_del_extent (the guts of xfs_bunmapi).
Conversion from btree to extents format not done yet.

Revision 1.27 / (download) - annotate - [select for diffs], Wed Jan 26 02:55:59 1994 UTC (23 years, 8 months ago) by doucette
Branch: MAIN
Changes since 1.26: +14 -3 lines
Diff to previous 1.26 (unified)

Fix bugs in xfs_bmap_alloc routine in selection of block number to ask
for in allocation request.  Assert if allocation fails (for now), and make
caller (xfs_bmapi) give up if a failure happens.

Revision 1.26 / (download) - annotate - [select for diffs], Sat Jan 22 02:21:03 1994 UTC (23 years, 8 months ago) by doucette
Branch: MAIN
Changes since 1.25: +806 -67 lines
Diff to previous 1.25 (unified)

Implement delayed allocation; reimplement xfs_bmapi, adding lots of
helper routines.  xfs_bunmapi is still not done.
It compiles, but I haven't run it at all.

Revision 1.25 / (download) - annotate - [select for diffs], Wed Jan 19 00:28:26 1994 UTC (23 years, 9 months ago) by doucette
Branch: MAIN
Changes since 1.24: +387 -93 lines
Diff to previous 1.24 (unified)

Add xfs_bmap_finish routine, and free-extent list management routines.
Start restructuring xfs_bmapi; add more code to xfs_bunmapi.

Revision 1.24 / (download) - annotate - [select for diffs], Fri Jan 7 22:12:46 1994 UTC (23 years, 9 months ago) by doucette
Branch: MAIN
Changes since 1.23: +896 -508 lines
Diff to previous 1.23 (unified)

Whole bunch of formatting changes.  Move the extent-to-btree conversion
code from xfs_bmapi to its own routine; same for the extents list search
code.  Add new transaction-allocation semantics.

Revision 1.23 / (download) - annotate - [select for diffs], Wed Jan 5 01:50:37 1994 UTC (23 years, 9 months ago) by doucette
Branch: MAIN
Changes since 1.22: +91 -33 lines
Diff to previous 1.22 (unified)

Add local to extent file conversion to bmap.
Add allocation mode XFS_ALLOCTYPE_START_BNO, and use it where we were
doing NEAR_BNO and then START_AG.
Fix a logging bug in insert causing a root copy to a real block.

Revision 1.22 / (download) - annotate - [select for diffs], Wed Jan 5 01:33:30 1994 UTC (23 years, 9 months ago) by ajs
Branch: MAIN
Changes since 1.21: +18 -18 lines
Diff to previous 1.21 (unified)

Use new buffer cache interfaces.

Revision 1.21 / (download) - annotate - [select for diffs], Tue Jan 4 19:33:55 1994 UTC (23 years, 9 months ago) by doucette
Branch: MAIN
Changes since 1.20: +30 -2 lines
Diff to previous 1.20 (unified)

Add comments in xfs_bmap_read_extents.  Fix a bug too (reference to
released buffer's contents).

Revision 1.20 / (download) - annotate - [select for diffs], Fri Dec 31 01:54:57 1993 UTC (23 years, 9 months ago) by ajs
Branch: MAIN
Changes since 1.19: +2 -1 lines
Diff to previous 1.19 (unified)

First cut at making the transaction
code use the log manager interfaces.  xfs_trans.h now
depends on xfs_log.h, so we need to include it.

Revision 1.19 / (download) - annotate - [select for diffs], Thu Dec 30 21:51:04 1993 UTC (23 years, 9 months ago) by doucette
Branch: MAIN
Changes since 1.18: +340 -171 lines
Diff to previous 1.18 (unified)

Unify XFS_BTREE_xxx_ADDR macros so there aren't short and long versions.
Make bmap (for real) and alloc (not really) btree codes separate types
for keys and records.  Add in some memory corruption checking.

Revision 1.18 / (download) - annotate - [select for diffs], Tue Dec 28 06:43:24 1993 UTC (23 years, 9 months ago) by doucette
Branch: MAIN
Changes since 1.17: +252 -260 lines
Diff to previous 1.17 (unified)

Convert to using two separate btree header block structures, with long
block pointers for BMAP btrees.

Revision 1.17 / (download) - annotate - [select for diffs], Mon Dec 27 22:23:49 1993 UTC (23 years, 9 months ago) by doucette
Branch: MAIN
Changes since 1.16: +36 -21 lines
Diff to previous 1.16 (unified)

Split allocation group header into two buffers; make superblock one
buffer long instead of one block long.

Revision 1.16 / (download) - annotate - [select for diffs], Thu Dec 23 01:59:15 1993 UTC (23 years, 9 months ago) by doucette
Branch: MAIN
Changes since 1.15: +3 -3 lines
Diff to previous 1.15 (unified)

Use xfs_btree_getblk instead of xfs_btree_bread where we don't need to
read in the old data.

Revision 1.15 / (download) - annotate - [select for diffs], Tue Dec 21 02:51:49 1993 UTC (23 years, 10 months ago) by doucette
Branch: MAIN
Changes since 1.14: +257 -22 lines
Diff to previous 1.14 (unified)

Function-ize all the XFS_BMAP_... macros in XFSDEBUG kernels.  Fix bmap
bugs; now we can allocate a three-level bmap btree.

Revision 1.14 / (download) - annotate - [select for diffs], Wed Dec 15 01:09:18 1993 UTC (23 years, 10 months ago) by doucette
Branch: MAIN
Changes since 1.13: +0 -1 lines
Diff to previous 1.13 (unified)

Remove include for xfs.h, this file has been removed.

Revision 1.13 / (download) - annotate - [select for diffs], Tue Dec 14 00:32:49 1993 UTC (23 years, 10 months ago) by doucette
Branch: MAIN
Changes since 1.12: +9 -5 lines
Diff to previous 1.12 (unified)

Fix the cursor after a delete/join so that subsequent callers can do
an update (after a decrement).  This actually happens in the extent
allocation code.
Remove a couple of unused variables in xfs_bmbt_delrec.

Revision 1.12 / (download) - annotate - [select for diffs], Fri Dec 10 03:05:59 1993 UTC (23 years, 10 months ago) by doucette
Branch: MAIN
Changes since 1.11: +146 -5 lines
Diff to previous 1.11 (unified)

Finish up bmap routine.  Add xfs_bmap_read_extents routine.

Revision 1.11 / (download) - annotate - [select for diffs], Thu Dec 9 06:05:29 1993 UTC (23 years, 10 months ago) by doucette
Branch: MAIN
Changes since 1.10: +7 -9 lines
Diff to previous 1.10 (unified)

Various cleanups to get kernel-mode make to work.  Fix includes and
other problems for #ifndef SIM code.

Revision 1.10 / (download) - annotate - [select for diffs], Thu Dec 9 01:39:24 1993 UTC (23 years, 10 months ago) by doucette
Branch: MAIN
Changes since 1.9: +177 -142 lines
Diff to previous 1.9 (unified)

Rewrite the bmap routine to use and change the extent list as well
as updating the btree.  Remaining to do is transiting from extents form
to btree form.

Revision 1.9 / (download) - annotate - [select for diffs], Tue Nov 30 18:20:25 1993 UTC (23 years, 10 months ago) by doucette
Branch: MAIN
Changes since 1.8: +124 -156 lines
Diff to previous 1.8 (unified)

Make all the logging work through the same interfaces.  Add all the
inode field logging (i_broot).  Cleanups to get it to compile.
Still missing the extent-bmap code.

Revision 1.8 / (download) - annotate - [select for diffs], Mon Nov 29 21:27:40 1993 UTC (23 years, 10 months ago) by doucette
Branch: MAIN
Changes since 1.7: +13 -9 lines
Diff to previous 1.7 (unified)

Change bmap record packing/unpacking macros for easier change later.
New inode mapping scheme.

Revision 1.7 / (download) - annotate - [select for diffs], Fri Nov 19 21:39:43 1993 UTC (23 years, 11 months ago) by doucette
Branch: MAIN
Changes since 1.6: +44 -19 lines
Diff to previous 1.6 (unified)

Use bit-oriented approach to structure field logging instead of
calculating offsets everywhere.

Revision 1.6 / (download) - annotate - [select for diffs], Wed Nov 17 02:12:43 1993 UTC (23 years, 11 months ago) by ajs
Branch: MAIN
Changes since 1.5: +2 -1 lines
Diff to previous 1.5 (unified)

Added new include file.

Revision 1.5 / (download) - annotate - [select for diffs], Wed Nov 17 01:39:55 1993 UTC (23 years, 11 months ago) by doucette
Branch: MAIN
Changes since 1.4: +220 -128 lines
Diff to previous 1.4 (unified)

Get rid of warnings from ragnarok compilers by adding casts, changing
types, adding lint comments.
Get rid of xfs_extdesc_t, replace with xfs_bmbt_rec_t.

Revision 1.4 / (download) - annotate - [select for diffs], Fri Nov 12 18:48:53 1993 UTC (23 years, 11 months ago) by doucette
Branch: MAIN
Changes since 1.3: +99 -147 lines
Diff to previous 1.3 (unified)

Make mount struct contain sb, not a pointer to it.  Add mp argument to
some routines, replace tp with mp in others.  Put the mp in the cursor,
as well as blocklog.

Revision 1.3 / (download) - annotate - [select for diffs], Thu Nov 11 01:19:30 1993 UTC (23 years, 11 months ago) by doucette
Branch: MAIN
Changes since 1.2: +47 -11 lines
Diff to previous 1.2 (unified)

Add support for packed and unpacked bmap btree records.

Revision 1.2 / (download) - annotate - [select for diffs], Tue Nov 9 01:40:38 1993 UTC (23 years, 11 months ago) by doucette
Branch: MAIN
Changes since 1.1: +459 -679 lines
Diff to previous 1.1 (unified)

More stuff in btree.[ch].  Structure field name changes.

Revision 1.1 / (download) - annotate - [select for diffs], Sat Nov 6 22:10:58 1993 UTC (23 years, 11 months ago) by doucette
Branch: MAIN

Initial revision

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>