diff options
Diffstat (limited to 'fs/xfs/xfs_iomap.c')
| -rw-r--r-- | fs/xfs/xfs_iomap.c | 26 |
1 files changed, 12 insertions, 14 deletions
diff --git a/fs/xfs/xfs_iomap.c b/fs/xfs/xfs_iomap.c index d5dfedcb8922..f1949c16df15 100644 --- a/fs/xfs/xfs_iomap.c +++ b/fs/xfs/xfs_iomap.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * Copyright (c) 2000-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 |
| @@ -23,7 +23,6 @@ | |||
| 23 | #include "xfs_trans.h" | 23 | #include "xfs_trans.h" |
| 24 | #include "xfs_sb.h" | 24 | #include "xfs_sb.h" |
| 25 | #include "xfs_ag.h" | 25 | #include "xfs_ag.h" |
| 26 | #include "xfs_dir.h" | ||
| 27 | #include "xfs_dir2.h" | 26 | #include "xfs_dir2.h" |
| 28 | #include "xfs_alloc.h" | 27 | #include "xfs_alloc.h" |
| 29 | #include "xfs_dmapi.h" | 28 | #include "xfs_dmapi.h" |
| @@ -32,7 +31,6 @@ | |||
| 32 | #include "xfs_bmap_btree.h" | 31 | #include "xfs_bmap_btree.h" |
| 33 | #include "xfs_alloc_btree.h" | 32 | #include "xfs_alloc_btree.h" |
| 34 | #include "xfs_ialloc_btree.h" | 33 | #include "xfs_ialloc_btree.h" |
| 35 | #include "xfs_dir_sf.h" | ||
| 36 | #include "xfs_dir2_sf.h" | 34 | #include "xfs_dir2_sf.h" |
| 37 | #include "xfs_attr_sf.h" | 35 | #include "xfs_attr_sf.h" |
| 38 | #include "xfs_dinode.h" | 36 | #include "xfs_dinode.h" |
| @@ -252,7 +250,7 @@ xfs_iomap( | |||
| 252 | error = XFS_BMAPI(mp, NULL, io, offset_fsb, | 250 | error = XFS_BMAPI(mp, NULL, io, offset_fsb, |
| 253 | (xfs_filblks_t)(end_fsb - offset_fsb), | 251 | (xfs_filblks_t)(end_fsb - offset_fsb), |
| 254 | bmapi_flags, NULL, 0, &imap, | 252 | bmapi_flags, NULL, 0, &imap, |
| 255 | &nimaps, NULL); | 253 | &nimaps, NULL, NULL); |
| 256 | 254 | ||
| 257 | if (error) | 255 | if (error) |
| 258 | goto out; | 256 | goto out; |
| @@ -519,8 +517,8 @@ xfs_iomap_write_direct( | |||
| 519 | */ | 517 | */ |
| 520 | XFS_BMAP_INIT(&free_list, &firstfsb); | 518 | XFS_BMAP_INIT(&free_list, &firstfsb); |
| 521 | nimaps = 1; | 519 | nimaps = 1; |
| 522 | error = xfs_bmapi(tp, ip, offset_fsb, count_fsb, | 520 | error = XFS_BMAPI(mp, tp, io, offset_fsb, count_fsb, bmapi_flag, |
| 523 | bmapi_flag, &firstfsb, 0, &imap, &nimaps, &free_list); | 521 | &firstfsb, 0, &imap, &nimaps, &free_list, NULL); |
| 524 | if (error) | 522 | if (error) |
| 525 | goto error0; | 523 | goto error0; |
| 526 | 524 | ||
| @@ -610,8 +608,8 @@ xfs_iomap_eof_want_preallocate( | |||
| 610 | while (count_fsb > 0) { | 608 | while (count_fsb > 0) { |
| 611 | imaps = nimaps; | 609 | imaps = nimaps; |
| 612 | firstblock = NULLFSBLOCK; | 610 | firstblock = NULLFSBLOCK; |
| 613 | error = XFS_BMAPI(mp, NULL, io, start_fsb, count_fsb, | 611 | error = XFS_BMAPI(mp, NULL, io, start_fsb, count_fsb, 0, |
| 614 | 0, &firstblock, 0, imap, &imaps, NULL); | 612 | &firstblock, 0, imap, &imaps, NULL, NULL); |
| 615 | if (error) | 613 | if (error) |
| 616 | return error; | 614 | return error; |
| 617 | for (n = 0; n < imaps; n++) { | 615 | for (n = 0; n < imaps; n++) { |
| @@ -695,11 +693,11 @@ retry: | |||
| 695 | 693 | ||
| 696 | nimaps = XFS_WRITE_IMAPS; | 694 | nimaps = XFS_WRITE_IMAPS; |
| 697 | firstblock = NULLFSBLOCK; | 695 | firstblock = NULLFSBLOCK; |
| 698 | error = xfs_bmapi(NULL, ip, offset_fsb, | 696 | error = XFS_BMAPI(mp, NULL, io, offset_fsb, |
| 699 | (xfs_filblks_t)(last_fsb - offset_fsb), | 697 | (xfs_filblks_t)(last_fsb - offset_fsb), |
| 700 | XFS_BMAPI_DELAY | XFS_BMAPI_WRITE | | 698 | XFS_BMAPI_DELAY | XFS_BMAPI_WRITE | |
| 701 | XFS_BMAPI_ENTIRE, &firstblock, 1, imap, | 699 | XFS_BMAPI_ENTIRE, &firstblock, 1, imap, |
| 702 | &nimaps, NULL); | 700 | &nimaps, NULL, NULL); |
| 703 | if (error && (error != ENOSPC)) | 701 | if (error && (error != ENOSPC)) |
| 704 | return XFS_ERROR(error); | 702 | return XFS_ERROR(error); |
| 705 | 703 | ||
| @@ -832,9 +830,9 @@ xfs_iomap_write_allocate( | |||
| 832 | } | 830 | } |
| 833 | 831 | ||
| 834 | /* Go get the actual blocks */ | 832 | /* Go get the actual blocks */ |
| 835 | error = xfs_bmapi(tp, ip, map_start_fsb, count_fsb, | 833 | error = XFS_BMAPI(mp, tp, io, map_start_fsb, count_fsb, |
| 836 | XFS_BMAPI_WRITE, &first_block, 1, | 834 | XFS_BMAPI_WRITE, &first_block, 1, |
| 837 | imap, &nimaps, &free_list); | 835 | imap, &nimaps, &free_list, NULL); |
| 838 | if (error) | 836 | if (error) |
| 839 | goto trans_cancel; | 837 | goto trans_cancel; |
| 840 | 838 | ||
| @@ -955,9 +953,9 @@ xfs_iomap_write_unwritten( | |||
| 955 | */ | 953 | */ |
| 956 | XFS_BMAP_INIT(&free_list, &firstfsb); | 954 | XFS_BMAP_INIT(&free_list, &firstfsb); |
| 957 | nimaps = 1; | 955 | nimaps = 1; |
| 958 | error = xfs_bmapi(tp, ip, offset_fsb, count_fsb, | 956 | error = XFS_BMAPI(mp, tp, io, offset_fsb, count_fsb, |
| 959 | XFS_BMAPI_WRITE|XFS_BMAPI_CONVERT, &firstfsb, | 957 | XFS_BMAPI_WRITE|XFS_BMAPI_CONVERT, &firstfsb, |
| 960 | 1, &imap, &nimaps, &free_list); | 958 | 1, &imap, &nimaps, &free_list, NULL); |
| 961 | if (error) | 959 | if (error) |
| 962 | goto error_on_bmapi_transaction; | 960 | goto error_on_bmapi_transaction; |
| 963 | 961 | ||
