diff options
Diffstat (limited to 'fs/xfs/libxfs/xfs_dir2_leaf.c')
-rw-r--r-- | fs/xfs/libxfs/xfs_dir2_leaf.c | 37 |
1 files changed, 17 insertions, 20 deletions
diff --git a/fs/xfs/libxfs/xfs_dir2_leaf.c b/fs/xfs/libxfs/xfs_dir2_leaf.c index 9a3767818c50..9c2a0a13ed61 100644 --- a/fs/xfs/libxfs/xfs_dir2_leaf.c +++ b/fs/xfs/libxfs/xfs_dir2_leaf.c | |||
@@ -563,43 +563,40 @@ xfs_dir3_leaf_find_entry( | |||
563 | */ | 563 | */ |
564 | int /* error */ | 564 | int /* error */ |
565 | xfs_dir2_leaf_addname( | 565 | xfs_dir2_leaf_addname( |
566 | xfs_da_args_t *args) /* operation arguments */ | 566 | struct xfs_da_args *args) /* operation arguments */ |
567 | { | 567 | { |
568 | struct xfs_dir3_icleaf_hdr leafhdr; | ||
569 | struct xfs_trans *tp = args->trans; | ||
568 | __be16 *bestsp; /* freespace table in leaf */ | 570 | __be16 *bestsp; /* freespace table in leaf */ |
569 | int compact; /* need to compact leaves */ | 571 | __be16 *tagp; /* end of data entry */ |
570 | xfs_dir2_data_hdr_t *hdr; /* data block header */ | ||
571 | struct xfs_buf *dbp; /* data block buffer */ | 572 | struct xfs_buf *dbp; /* data block buffer */ |
572 | xfs_dir2_data_entry_t *dep; /* data block entry */ | 573 | struct xfs_buf *lbp; /* leaf's buffer */ |
573 | xfs_inode_t *dp; /* incore directory inode */ | 574 | struct xfs_dir2_leaf *leaf; /* leaf structure */ |
574 | xfs_dir2_data_unused_t *dup; /* data unused entry */ | 575 | struct xfs_inode *dp = args->dp; /* incore directory inode */ |
576 | struct xfs_dir2_data_hdr *hdr; /* data block header */ | ||
577 | struct xfs_dir2_data_entry *dep; /* data block entry */ | ||
578 | struct xfs_dir2_leaf_entry *lep; /* leaf entry table pointer */ | ||
579 | struct xfs_dir2_leaf_entry *ents; | ||
580 | struct xfs_dir2_data_unused *dup; /* data unused entry */ | ||
581 | struct xfs_dir2_leaf_tail *ltp; /* leaf tail pointer */ | ||
582 | struct xfs_dir2_data_free *bf; /* bestfree table */ | ||
583 | int compact; /* need to compact leaves */ | ||
575 | int error; /* error return value */ | 584 | int error; /* error return value */ |
576 | int grown; /* allocated new data block */ | 585 | int grown; /* allocated new data block */ |
577 | int highstale; /* index of next stale leaf */ | 586 | int highstale = 0; /* index of next stale leaf */ |
578 | int i; /* temporary, index */ | 587 | int i; /* temporary, index */ |
579 | int index; /* leaf table position */ | 588 | int index; /* leaf table position */ |
580 | struct xfs_buf *lbp; /* leaf's buffer */ | ||
581 | xfs_dir2_leaf_t *leaf; /* leaf structure */ | ||
582 | int length; /* length of new entry */ | 589 | int length; /* length of new entry */ |
583 | xfs_dir2_leaf_entry_t *lep; /* leaf entry table pointer */ | ||
584 | int lfloglow; /* low leaf logging index */ | 590 | int lfloglow; /* low leaf logging index */ |
585 | int lfloghigh; /* high leaf logging index */ | 591 | int lfloghigh; /* high leaf logging index */ |
586 | int lowstale; /* index of prev stale leaf */ | 592 | int lowstale = 0; /* index of prev stale leaf */ |
587 | xfs_dir2_leaf_tail_t *ltp; /* leaf tail pointer */ | ||
588 | int needbytes; /* leaf block bytes needed */ | 593 | int needbytes; /* leaf block bytes needed */ |
589 | int needlog; /* need to log data header */ | 594 | int needlog; /* need to log data header */ |
590 | int needscan; /* need to rescan data free */ | 595 | int needscan; /* need to rescan data free */ |
591 | __be16 *tagp; /* end of data entry */ | ||
592 | xfs_trans_t *tp; /* transaction pointer */ | ||
593 | xfs_dir2_db_t use_block; /* data block number */ | 596 | xfs_dir2_db_t use_block; /* data block number */ |
594 | struct xfs_dir2_data_free *bf; /* bestfree table */ | ||
595 | struct xfs_dir2_leaf_entry *ents; | ||
596 | struct xfs_dir3_icleaf_hdr leafhdr; | ||
597 | 597 | ||
598 | trace_xfs_dir2_leaf_addname(args); | 598 | trace_xfs_dir2_leaf_addname(args); |
599 | 599 | ||
600 | dp = args->dp; | ||
601 | tp = args->trans; | ||
602 | |||
603 | error = xfs_dir3_leaf_read(tp, dp, args->geo->leafblk, -1, &lbp); | 600 | error = xfs_dir3_leaf_read(tp, dp, args->geo->leafblk, -1, &lbp); |
604 | if (error) | 601 | if (error) |
605 | return error; | 602 | return error; |