CVS log for linux-2.4-xfs/fs/xfs/xfs_alloc_btree.h

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.41 / (download) - annotate - [select for diffs], Fri Oct 10 15:27:57 2008 UTC (9 years ago) by donaldd.longdrop.melbourne.sgi.com
Branch: MAIN
CVS Tags: HEAD
Changes since 1.40: +10 -8 lines
Diff to previous 1.40 (colored)

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.40 / (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.39: +18 -7 lines
Diff to previous 1.39 (colored)

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.39 / (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.38: +1 -6 lines
Diff to previous 1.38 (colored)

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.38 / (download) - annotate - [select for diffs], Wed Sep 24 16:31:33 2008 UTC (9 years ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.37: +0 -6 lines
Diff to previous 1.37 (colored)

implement generic xfs_btree_get_rec

Not really much reason to make it generic given that it's so small,
but this is the last non-method in xfs_alloc_btree.c and xfs_ialloc_btree.c,
so it makes the whole btree implementation more structured.


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

  implement generic xfs_btree_get_rec

Revision 1.37 / (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.36: +0 -7 lines
Diff to previous 1.36 (colored)

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.36 / (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.35: +0 -6 lines
Diff to previous 1.35 (colored)

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.35 / (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.34: +0 -7 lines
Diff to previous 1.34 (colored)

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.34 / (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.33: +0 -20 lines
Diff to previous 1.33 (colored)

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.33 / (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.32: +0 -6 lines
Diff to previous 1.32 (colored)

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.32 / (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.31: +0 -6 lines
Diff to previous 1.31 (colored)

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.31 / (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.30: +5 -0 lines
Diff to previous 1.30 (colored)

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.30 / (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.29: +3 -7 lines
Diff to previous 1.29 (colored)

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.29 / (download) - annotate - [select for diffs], Fri Oct 21 18:08:47 2005 UTC (12 years ago) by hch
Branch: MAIN
Changes since 1.28: +10 -5 lines
Diff to previous 1.28 (colored)

Endianess annotations for various allocator data structures

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

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

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

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

Revision 1.26 / (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.25: +257 -0 lines
Diff to previous 1.25 (colored)

The Big Move
linux/fs/xfs/xfs_alloc_btree.h 1.24 Renamed to xfs_alloc_btree.h

Revision 1.25 / (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.24: +0 -257 lines
Diff to previous 1.24 (colored)

Nuke

Revision 1.24 / (download) - annotate - [select for diffs], Tue Apr 15 23:16:46 2003 UTC (14 years, 6 months ago) by cattelan
Branch: MAIN
CVS Tags: XFS-1_3_0pre1
Changes since 1.23: +31 -31 lines
Diff to previous 1.23 (colored)

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

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

Some cleanup, some more unwritten extent related changes.
Cleanup whitespace a little.

Revision 1.22 / (download) - annotate - [select for diffs], Wed Nov 13 07:49:10 2002 UTC (14 years, 11 months ago) by nathans
Branch: MAIN
Changes since 1.21: +8 -2 lines
Diff to previous 1.21 (colored)

pagebuf can now take a configurable sector size (512 -> 32K).
Add some macros relating to sector sizes, update some comments.

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

whitespace cleanup

Revision 1.20 / (download) - annotate - [select for diffs], Mon Sep 25 05:42:07 2000 UTC (17 years ago) by nathans
Branch: MAIN
CVS Tags: Release-1_0_0, PreRelease-0_10, Linux-2_4_5-merge
Changes since 1.19: +3 -5 lines
Diff to previous 1.19 (colored)

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

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

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

Revision 1.18 / (download) - annotate - [select for diffs], Fri Jun 9 00:03:30 2000 UTC (17 years, 4 months ago) by cattelan
Branch: MAIN
CVS Tags: DELETE
Changes since 1.17: +19 -1 lines
Diff to previous 1.17 (colored)

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

  Merge of 2.3.42-xfs:slinx:44186a by ananth.
  Copied GPL from slinx-xfs tree.

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

virtualize interface to buffer data

Revision 1.16 / (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.15: +3 -3 lines
Diff to previous 1.15 (colored)

replace struct buf and buf_t references with xfs_buf and xfs_buf_t

Revision 1.15 / (download) - annotate - [select for diffs], Sat Mar 15 00:41:29 1997 UTC (20 years, 7 months ago) by doucette
Branch: MAIN
Changes since 1.14: +6 -4 lines
Diff to previous 1.14 (colored)

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

Revision 1.14 / (download) - annotate - [select for diffs], Tue Jun 4 18:51:37 1996 UTC (21 years, 4 months ago) by doucette
Branch: MAIN
Changes since 1.13: +1 -24 lines
Diff to previous 1.13 (colored)

Remove some dead debugging code.  Add some new assertions.

Revision 1.13 / (download) - annotate - [select for diffs], Wed Aug 16 05:45:43 1995 UTC (22 years, 2 months ago) by doucette
Branch: MAIN
Changes since 1.12: +51 -1 lines
Diff to previous 1.12 (colored)

Turn some macros into functions for 32-bit kernels, to save some memory.

Revision 1.12 / (download) - annotate - [select for diffs], Thu Apr 13 03:14:20 1995 UTC (22 years, 6 months ago) by ajs
Branch: MAIN
Changes since 1.11: +22 -15 lines
Diff to previous 1.11 (colored)

First cut at disk error handling

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

Fix stub structure declaration using the wrong name.

Revision 1.10 / (download) - annotate - [select for diffs], Sat May 28 21:23:19 1994 UTC (23 years, 4 months ago) by doucette
Branch: MAIN
Changes since 1.9: +2 -2 lines
Diff to previous 1.9 (colored)

Replace a.g. freelist with an array of blocks stored in the 4th bb.

Revision 1.9 / (download) - annotate - [select for diffs], Wed May 4 00:20:48 1994 UTC (23 years, 5 months ago) by doucette
Branch: MAIN
Changes since 1.8: +1 -2 lines
Diff to previous 1.8 (colored)

Remove XFS_PREALLOC_BLOCKS define from here, it moves to xfs_ialloc_btree.h.

Revision 1.8 / (download) - annotate - [select for diffs], Sat Apr 23 17:57:38 1994 UTC (23 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.7: +6 -6 lines
Diff to previous 1.7 (colored)

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.7 / (download) - annotate - [select for diffs], Fri Apr 22 22:58:02 1994 UTC (23 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.6: +1 -1 lines
Diff to previous 1.6 (colored)

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

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

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

Revision 1.5 / (download) - annotate - [select for diffs], Wed Apr 13 02:02:39 1994 UTC (23 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.4: +4 -2 lines
Diff to previous 1.4 (colored)

Define xfs_buf_to_alloc_block.
Use mount struct fields m_alloc_mxr, m_alloc_mnr instead of always
recalculating MINRECS, MAXRECS for alloc btree blocks.

Revision 1.4 / (download) - annotate - [select for diffs], Tue Apr 12 01:16:38 1994 UTC (23 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.3: +3 -3 lines
Diff to previous 1.3 (colored)

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

Revision 1.3 / (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.2: +5 -2 lines
Diff to previous 1.2 (colored)

Add xfs_alloc_block_t type as part of change to make bmap btree roots
use fewer fields on disk.

Revision 1.2 / (download) - annotate - [select for diffs], Sat Feb 19 01:36:45 1994 UTC (23 years, 8 months ago) by doucette
Branch: MAIN
Changes since 1.1: +74 -34 lines
Diff to previous 1.1 (colored)

Formatting changes, comments.

Revision 1.1 / (download) - annotate - [select for diffs], Tue Feb 1 02:32:21 1994 UTC (23 years, 8 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>