Merge from Irix
xfs_alloc_put_freelist marks the blocks it gets as "busy". However, this
function is used in two different ways:
1. xfs_alloc_fix_freelist calls xfs_alloc_put_freelist to add new
blocks to the freelist (that is, blocks it allocated with
xfs_alloc_ag_vextent).
2. xfs_alloc_delrec calls xfs_alloc_put_freelist to free deleted
b+tree blocks.
In case 1, the blocks should not be on the busy list; in case 2, they should.
Date: Tue Oct 15 08:17:33 PDT 2002
Workarea: jen.americas.sgi.com:/src/lord/xfs-linux.2.4
The following file(s) were checked into:
bonnie.engr.sgi.com:/isms/slinx/2.4.x-xfs
Modid: 2.4.x-xfs:slinx:129987a
linux/fs/xfs/xfs_alloc.c - 1.157
- Remove xfs_alloc_mark_busy calls from xfs_alloc_put_freelist. Blocks
were double-inserted by xfs_alloc_fix_freelist and xfs_alloc_delrec.
Instead, only add to the freelist from xfs_alloc_delrec.
linux/fs/xfs/xfs_alloc_btree.c - 1.72
- xfs_alloc_delrec adds freed space to the per-AG busy list after
putting it on the AGFL.
|