diff options
Diffstat (limited to 'fs/jfs/jfs_extent.c')
-rw-r--r-- | fs/jfs/jfs_extent.c | 102 |
1 files changed, 51 insertions, 51 deletions
diff --git a/fs/jfs/jfs_extent.c b/fs/jfs/jfs_extent.c index a35bdca6a805..7ae1e3281de9 100644 --- a/fs/jfs/jfs_extent.c +++ b/fs/jfs/jfs_extent.c | |||
@@ -34,8 +34,8 @@ static int extBrealloc(struct inode *, s64, s64, s64 *, s64 *); | |||
34 | #endif | 34 | #endif |
35 | static s64 extRoundDown(s64 nb); | 35 | static s64 extRoundDown(s64 nb); |
36 | 36 | ||
37 | #define DPD(a) (printk("(a): %d\n",(a))) | 37 | #define DPD(a) (printk("(a): %d\n",(a))) |
38 | #define DPC(a) (printk("(a): %c\n",(a))) | 38 | #define DPC(a) (printk("(a): %c\n",(a))) |
39 | #define DPL1(a) \ | 39 | #define DPL1(a) \ |
40 | { \ | 40 | { \ |
41 | if ((a) >> 32) \ | 41 | if ((a) >> 32) \ |
@@ -51,19 +51,19 @@ static s64 extRoundDown(s64 nb); | |||
51 | printk("(a): %x\n",(a) << 32); \ | 51 | printk("(a): %x\n",(a) << 32); \ |
52 | } | 52 | } |
53 | 53 | ||
54 | #define DPD1(a) (printk("(a): %d ",(a))) | 54 | #define DPD1(a) (printk("(a): %d ",(a))) |
55 | #define DPX(a) (printk("(a): %08x\n",(a))) | 55 | #define DPX(a) (printk("(a): %08x\n",(a))) |
56 | #define DPX1(a) (printk("(a): %08x ",(a))) | 56 | #define DPX1(a) (printk("(a): %08x ",(a))) |
57 | #define DPS(a) (printk("%s\n",(a))) | 57 | #define DPS(a) (printk("%s\n",(a))) |
58 | #define DPE(a) (printk("\nENTERING: %s\n",(a))) | 58 | #define DPE(a) (printk("\nENTERING: %s\n",(a))) |
59 | #define DPE1(a) (printk("\nENTERING: %s",(a))) | 59 | #define DPE1(a) (printk("\nENTERING: %s",(a))) |
60 | #define DPS1(a) (printk(" %s ",(a))) | 60 | #define DPS1(a) (printk(" %s ",(a))) |
61 | 61 | ||
62 | 62 | ||
63 | /* | 63 | /* |
64 | * NAME: extAlloc() | 64 | * NAME: extAlloc() |
65 | * | 65 | * |
66 | * FUNCTION: allocate an extent for a specified page range within a | 66 | * FUNCTION: allocate an extent for a specified page range within a |
67 | * file. | 67 | * file. |
68 | * | 68 | * |
69 | * PARAMETERS: | 69 | * PARAMETERS: |
@@ -78,9 +78,9 @@ static s64 extRoundDown(s64 nb); | |||
78 | * should be marked as allocated but not recorded. | 78 | * should be marked as allocated but not recorded. |
79 | * | 79 | * |
80 | * RETURN VALUES: | 80 | * RETURN VALUES: |
81 | * 0 - success | 81 | * 0 - success |
82 | * -EIO - i/o error. | 82 | * -EIO - i/o error. |
83 | * -ENOSPC - insufficient disk resources. | 83 | * -ENOSPC - insufficient disk resources. |
84 | */ | 84 | */ |
85 | int | 85 | int |
86 | extAlloc(struct inode *ip, s64 xlen, s64 pno, xad_t * xp, bool abnr) | 86 | extAlloc(struct inode *ip, s64 xlen, s64 pno, xad_t * xp, bool abnr) |
@@ -192,9 +192,9 @@ extAlloc(struct inode *ip, s64 xlen, s64 pno, xad_t * xp, bool abnr) | |||
192 | 192 | ||
193 | #ifdef _NOTYET | 193 | #ifdef _NOTYET |
194 | /* | 194 | /* |
195 | * NAME: extRealloc() | 195 | * NAME: extRealloc() |
196 | * | 196 | * |
197 | * FUNCTION: extend the allocation of a file extent containing a | 197 | * FUNCTION: extend the allocation of a file extent containing a |
198 | * partial back last page. | 198 | * partial back last page. |
199 | * | 199 | * |
200 | * PARAMETERS: | 200 | * PARAMETERS: |
@@ -207,9 +207,9 @@ extAlloc(struct inode *ip, s64 xlen, s64 pno, xad_t * xp, bool abnr) | |||
207 | * should be marked as allocated but not recorded. | 207 | * should be marked as allocated but not recorded. |
208 | * | 208 | * |
209 | * RETURN VALUES: | 209 | * RETURN VALUES: |
210 | * 0 - success | 210 | * 0 - success |
211 | * -EIO - i/o error. | 211 | * -EIO - i/o error. |
212 | * -ENOSPC - insufficient disk resources. | 212 | * -ENOSPC - insufficient disk resources. |
213 | */ | 213 | */ |
214 | int extRealloc(struct inode *ip, s64 nxlen, xad_t * xp, bool abnr) | 214 | int extRealloc(struct inode *ip, s64 nxlen, xad_t * xp, bool abnr) |
215 | { | 215 | { |
@@ -345,9 +345,9 @@ exit: | |||
345 | 345 | ||
346 | 346 | ||
347 | /* | 347 | /* |
348 | * NAME: extHint() | 348 | * NAME: extHint() |
349 | * | 349 | * |
350 | * FUNCTION: produce an extent allocation hint for a file offset. | 350 | * FUNCTION: produce an extent allocation hint for a file offset. |
351 | * | 351 | * |
352 | * PARAMETERS: | 352 | * PARAMETERS: |
353 | * ip - the inode of the file. | 353 | * ip - the inode of the file. |
@@ -356,8 +356,8 @@ exit: | |||
356 | * the hint. | 356 | * the hint. |
357 | * | 357 | * |
358 | * RETURN VALUES: | 358 | * RETURN VALUES: |
359 | * 0 - success | 359 | * 0 - success |
360 | * -EIO - i/o error. | 360 | * -EIO - i/o error. |
361 | */ | 361 | */ |
362 | int extHint(struct inode *ip, s64 offset, xad_t * xp) | 362 | int extHint(struct inode *ip, s64 offset, xad_t * xp) |
363 | { | 363 | { |
@@ -387,7 +387,7 @@ int extHint(struct inode *ip, s64 offset, xad_t * xp) | |||
387 | lxdl.nlxd = 1; | 387 | lxdl.nlxd = 1; |
388 | lxdl.lxd = &lxd; | 388 | lxdl.lxd = &lxd; |
389 | LXDoffset(&lxd, prev) | 389 | LXDoffset(&lxd, prev) |
390 | LXDlength(&lxd, nbperpage); | 390 | LXDlength(&lxd, nbperpage); |
391 | 391 | ||
392 | xadl.maxnxad = 1; | 392 | xadl.maxnxad = 1; |
393 | xadl.nxad = 0; | 393 | xadl.nxad = 0; |
@@ -397,11 +397,11 @@ int extHint(struct inode *ip, s64 offset, xad_t * xp) | |||
397 | if ((rc = xtLookupList(ip, &lxdl, &xadl, 0))) | 397 | if ((rc = xtLookupList(ip, &lxdl, &xadl, 0))) |
398 | return (rc); | 398 | return (rc); |
399 | 399 | ||
400 | /* check if not extent exists for the previous page. | 400 | /* check if no extent exists for the previous page. |
401 | * this is possible for sparse files. | 401 | * this is possible for sparse files. |
402 | */ | 402 | */ |
403 | if (xadl.nxad == 0) { | 403 | if (xadl.nxad == 0) { |
404 | // assert(ISSPARSE(ip)); | 404 | // assert(ISSPARSE(ip)); |
405 | return (0); | 405 | return (0); |
406 | } | 406 | } |
407 | 407 | ||
@@ -410,28 +410,28 @@ int extHint(struct inode *ip, s64 offset, xad_t * xp) | |||
410 | */ | 410 | */ |
411 | xp->flag &= XAD_NOTRECORDED; | 411 | xp->flag &= XAD_NOTRECORDED; |
412 | 412 | ||
413 | if(xadl.nxad != 1 || lengthXAD(xp) != nbperpage) { | 413 | if(xadl.nxad != 1 || lengthXAD(xp) != nbperpage) { |
414 | jfs_error(ip->i_sb, "extHint: corrupt xtree"); | 414 | jfs_error(ip->i_sb, "extHint: corrupt xtree"); |
415 | return -EIO; | 415 | return -EIO; |
416 | } | 416 | } |
417 | 417 | ||
418 | return (0); | 418 | return (0); |
419 | } | 419 | } |
420 | 420 | ||
421 | 421 | ||
422 | /* | 422 | /* |
423 | * NAME: extRecord() | 423 | * NAME: extRecord() |
424 | * | 424 | * |
425 | * FUNCTION: change a page with a file from not recorded to recorded. | 425 | * FUNCTION: change a page with a file from not recorded to recorded. |
426 | * | 426 | * |
427 | * PARAMETERS: | 427 | * PARAMETERS: |
428 | * ip - inode of the file. | 428 | * ip - inode of the file. |
429 | * cp - cbuf of the file page. | 429 | * cp - cbuf of the file page. |
430 | * | 430 | * |
431 | * RETURN VALUES: | 431 | * RETURN VALUES: |
432 | * 0 - success | 432 | * 0 - success |
433 | * -EIO - i/o error. | 433 | * -EIO - i/o error. |
434 | * -ENOSPC - insufficient disk resources. | 434 | * -ENOSPC - insufficient disk resources. |
435 | */ | 435 | */ |
436 | int extRecord(struct inode *ip, xad_t * xp) | 436 | int extRecord(struct inode *ip, xad_t * xp) |
437 | { | 437 | { |
@@ -451,9 +451,9 @@ int extRecord(struct inode *ip, xad_t * xp) | |||
451 | 451 | ||
452 | #ifdef _NOTYET | 452 | #ifdef _NOTYET |
453 | /* | 453 | /* |
454 | * NAME: extFill() | 454 | * NAME: extFill() |
455 | * | 455 | * |
456 | * FUNCTION: allocate disk space for a file page that represents | 456 | * FUNCTION: allocate disk space for a file page that represents |
457 | * a file hole. | 457 | * a file hole. |
458 | * | 458 | * |
459 | * PARAMETERS: | 459 | * PARAMETERS: |
@@ -461,16 +461,16 @@ int extRecord(struct inode *ip, xad_t * xp) | |||
461 | * cp - cbuf of the file page represent the hole. | 461 | * cp - cbuf of the file page represent the hole. |
462 | * | 462 | * |
463 | * RETURN VALUES: | 463 | * RETURN VALUES: |
464 | * 0 - success | 464 | * 0 - success |
465 | * -EIO - i/o error. | 465 | * -EIO - i/o error. |
466 | * -ENOSPC - insufficient disk resources. | 466 | * -ENOSPC - insufficient disk resources. |
467 | */ | 467 | */ |
468 | int extFill(struct inode *ip, xad_t * xp) | 468 | int extFill(struct inode *ip, xad_t * xp) |
469 | { | 469 | { |
470 | int rc, nbperpage = JFS_SBI(ip->i_sb)->nbperpage; | 470 | int rc, nbperpage = JFS_SBI(ip->i_sb)->nbperpage; |
471 | s64 blkno = offsetXAD(xp) >> ip->i_blkbits; | 471 | s64 blkno = offsetXAD(xp) >> ip->i_blkbits; |
472 | 472 | ||
473 | // assert(ISSPARSE(ip)); | 473 | // assert(ISSPARSE(ip)); |
474 | 474 | ||
475 | /* initialize the extent allocation hint */ | 475 | /* initialize the extent allocation hint */ |
476 | XADaddress(xp, 0); | 476 | XADaddress(xp, 0); |
@@ -489,7 +489,7 @@ int extFill(struct inode *ip, xad_t * xp) | |||
489 | /* | 489 | /* |
490 | * NAME: extBalloc() | 490 | * NAME: extBalloc() |
491 | * | 491 | * |
492 | * FUNCTION: allocate disk blocks to form an extent. | 492 | * FUNCTION: allocate disk blocks to form an extent. |
493 | * | 493 | * |
494 | * initially, we will try to allocate disk blocks for the | 494 | * initially, we will try to allocate disk blocks for the |
495 | * requested size (nblocks). if this fails (nblocks | 495 | * requested size (nblocks). if this fails (nblocks |
@@ -513,9 +513,9 @@ int extFill(struct inode *ip, xad_t * xp) | |||
513 | * allocated block range. | 513 | * allocated block range. |
514 | * | 514 | * |
515 | * RETURN VALUES: | 515 | * RETURN VALUES: |
516 | * 0 - success | 516 | * 0 - success |
517 | * -EIO - i/o error. | 517 | * -EIO - i/o error. |
518 | * -ENOSPC - insufficient disk resources. | 518 | * -ENOSPC - insufficient disk resources. |
519 | */ | 519 | */ |
520 | static int | 520 | static int |
521 | extBalloc(struct inode *ip, s64 hint, s64 * nblocks, s64 * blkno) | 521 | extBalloc(struct inode *ip, s64 hint, s64 * nblocks, s64 * blkno) |
@@ -580,7 +580,7 @@ extBalloc(struct inode *ip, s64 hint, s64 * nblocks, s64 * blkno) | |||
580 | /* | 580 | /* |
581 | * NAME: extBrealloc() | 581 | * NAME: extBrealloc() |
582 | * | 582 | * |
583 | * FUNCTION: attempt to extend an extent's allocation. | 583 | * FUNCTION: attempt to extend an extent's allocation. |
584 | * | 584 | * |
585 | * Initially, we will try to extend the extent's allocation | 585 | * Initially, we will try to extend the extent's allocation |
586 | * in place. If this fails, we'll try to move the extent | 586 | * in place. If this fails, we'll try to move the extent |
@@ -597,8 +597,8 @@ extBalloc(struct inode *ip, s64 hint, s64 * nblocks, s64 * blkno) | |||
597 | * | 597 | * |
598 | * PARAMETERS: | 598 | * PARAMETERS: |
599 | * ip - the inode of the file. | 599 | * ip - the inode of the file. |
600 | * blkno - starting block number of the extents current allocation. | 600 | * blkno - starting block number of the extents current allocation. |
601 | * nblks - number of blocks within the extents current allocation. | 601 | * nblks - number of blocks within the extents current allocation. |
602 | * newnblks - pointer to a s64 value. on entry, this value is the | 602 | * newnblks - pointer to a s64 value. on entry, this value is the |
603 | * the new desired extent size (number of blocks). on | 603 | * the new desired extent size (number of blocks). on |
604 | * successful exit, this value is set to the extent's actual | 604 | * successful exit, this value is set to the extent's actual |
@@ -606,9 +606,9 @@ extBalloc(struct inode *ip, s64 hint, s64 * nblocks, s64 * blkno) | |||
606 | * newblkno - the starting block number of the extents new allocation. | 606 | * newblkno - the starting block number of the extents new allocation. |
607 | * | 607 | * |
608 | * RETURN VALUES: | 608 | * RETURN VALUES: |
609 | * 0 - success | 609 | * 0 - success |
610 | * -EIO - i/o error. | 610 | * -EIO - i/o error. |
611 | * -ENOSPC - insufficient disk resources. | 611 | * -ENOSPC - insufficient disk resources. |
612 | */ | 612 | */ |
613 | static int | 613 | static int |
614 | extBrealloc(struct inode *ip, | 614 | extBrealloc(struct inode *ip, |
@@ -634,16 +634,16 @@ extBrealloc(struct inode *ip, | |||
634 | 634 | ||
635 | 635 | ||
636 | /* | 636 | /* |
637 | * NAME: extRoundDown() | 637 | * NAME: extRoundDown() |
638 | * | 638 | * |
639 | * FUNCTION: round down a specified number of blocks to the next | 639 | * FUNCTION: round down a specified number of blocks to the next |
640 | * smallest power of 2 number. | 640 | * smallest power of 2 number. |
641 | * | 641 | * |
642 | * PARAMETERS: | 642 | * PARAMETERS: |
643 | * nb - the inode of the file. | 643 | * nb - the inode of the file. |
644 | * | 644 | * |
645 | * RETURN VALUES: | 645 | * RETURN VALUES: |
646 | * next smallest power of 2 number. | 646 | * next smallest power of 2 number. |
647 | */ | 647 | */ |
648 | static s64 extRoundDown(s64 nb) | 648 | static s64 extRoundDown(s64 nb) |
649 | { | 649 | { |