diff options
Diffstat (limited to 'fs/xfs/xfs_bmap.h')
| -rw-r--r-- | fs/xfs/xfs_bmap.h | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/fs/xfs/xfs_bmap.h b/fs/xfs/xfs_bmap.h index 8e0d73d9ccc4..80e93409b78d 100644 --- a/fs/xfs/xfs_bmap.h +++ b/fs/xfs/xfs_bmap.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * Copyright (c) 2000-2003,2005 Silicon Graphics, Inc. | 2 | * Copyright (c) 2000-2006 Silicon Graphics, Inc. |
| 3 | * All Rights Reserved. | 3 | * All Rights Reserved. |
| 4 | * | 4 | * |
| 5 | * This program is free software; you can redistribute it and/or | 5 | * This program is free software; you can redistribute it and/or |
| @@ -26,6 +26,20 @@ struct xfs_mount; | |||
| 26 | struct xfs_trans; | 26 | struct xfs_trans; |
| 27 | 27 | ||
| 28 | /* | 28 | /* |
| 29 | * DELTA: describe a change to the in-core extent list. | ||
| 30 | * | ||
| 31 | * Internally the use of xed_blockount is somewhat funky. | ||
| 32 | * xed_blockcount contains an offset much of the time because this | ||
| 33 | * makes merging changes easier. (xfs_fileoff_t and xfs_filblks_t are | ||
| 34 | * the same underlying type). | ||
| 35 | */ | ||
| 36 | typedef struct xfs_extdelta | ||
| 37 | { | ||
| 38 | xfs_fileoff_t xed_startoff; /* offset of range */ | ||
| 39 | xfs_filblks_t xed_blockcount; /* blocks in range */ | ||
| 40 | } xfs_extdelta_t; | ||
| 41 | |||
| 42 | /* | ||
| 29 | * List of extents to be free "later". | 43 | * List of extents to be free "later". |
| 30 | * The list is kept sorted on xbf_startblock. | 44 | * The list is kept sorted on xbf_startblock. |
| 31 | */ | 45 | */ |
| @@ -275,7 +289,9 @@ xfs_bmapi( | |||
| 275 | xfs_extlen_t total, /* total blocks needed */ | 289 | xfs_extlen_t total, /* total blocks needed */ |
| 276 | struct xfs_bmbt_irec *mval, /* output: map values */ | 290 | struct xfs_bmbt_irec *mval, /* output: map values */ |
| 277 | int *nmap, /* i/o: mval size/count */ | 291 | int *nmap, /* i/o: mval size/count */ |
| 278 | xfs_bmap_free_t *flist); /* i/o: list extents to free */ | 292 | xfs_bmap_free_t *flist, /* i/o: list extents to free */ |
| 293 | xfs_extdelta_t *delta); /* o: change made to incore | ||
| 294 | extents */ | ||
| 279 | 295 | ||
| 280 | /* | 296 | /* |
| 281 | * Map file blocks to filesystem blocks, simple version. | 297 | * Map file blocks to filesystem blocks, simple version. |
| @@ -309,6 +325,8 @@ xfs_bunmapi( | |||
| 309 | xfs_fsblock_t *firstblock, /* first allocated block | 325 | xfs_fsblock_t *firstblock, /* first allocated block |
| 310 | controls a.g. for allocs */ | 326 | controls a.g. for allocs */ |
| 311 | xfs_bmap_free_t *flist, /* i/o: list extents to free */ | 327 | xfs_bmap_free_t *flist, /* i/o: list extents to free */ |
| 328 | xfs_extdelta_t *delta, /* o: change made to incore | ||
| 329 | extents */ | ||
| 312 | int *done); /* set if not done yet */ | 330 | int *done); /* set if not done yet */ |
| 313 | 331 | ||
| 314 | /* | 332 | /* |
