[XFS] 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] SGI-PV: 985583 SGI-Modid: xfs-linux-melb:xfs-kern:32194a Signed-off-by: Christoph Hellwig <hch@infradead.org> Signed-off-by: Lachlan McIlroy <lachlan@sgi.com> Signed-off-by: Bill O'Donnell <billodo@sgi.com> Signed-off-by: David Chinner <david@fromorbit.com>
This commit is contained in:
committed by
Lachlan McIlroy
parent
38bb74237d
commit
278d0ca14e
@@ -430,6 +430,24 @@ xfs_bmbt_lookup_ge(
|
||||
return xfs_btree_lookup(cur, XFS_LOOKUP_GE, stat);
|
||||
}
|
||||
|
||||
/*
|
||||
* Update the record referred to by cur to the value given
|
||||
* by [off, bno, len, state].
|
||||
* This either works (return 0) or gets an EFSCORRUPTED error.
|
||||
*/
|
||||
STATIC int
|
||||
xfs_bmbt_update(
|
||||
struct xfs_btree_cur *cur,
|
||||
xfs_fileoff_t off,
|
||||
xfs_fsblock_t bno,
|
||||
xfs_filblks_t len,
|
||||
xfs_exntst_t state)
|
||||
{
|
||||
union xfs_btree_rec rec;
|
||||
|
||||
xfs_bmbt_disk_set_allf(&rec.bmbt, off, bno, len, state);
|
||||
return xfs_btree_update(cur, &rec);
|
||||
}
|
||||
|
||||
/*
|
||||
* Called from xfs_bmap_add_attrfork to handle btree format files.
|
||||
|
Reference in New Issue
Block a user