• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6.36/fs/ext4/

Lines Matching refs:group

40  * blocks groups.  Each group contains 1 bitmap block for blocks, 1 bitmap
43 * The file system contains group descriptors which are located after the
77 * allocation, essentially implementing a per-group read-only flag. */
79 ext4_error(sb, "Checksum bad for group %u", block_group);
293 * a directory, then a forward search is made for a block group with both
295 * the groups with above-average free space, that group with the fewest
299 * group to find a free inode.
307 ext4_group_t group;
313 for (group = 0; group < ngroups; group++) {
314 desc = ext4_get_group_desc(sb, group, NULL);
322 *best_group = group;
411 * for a particular block group or flex_bg. If flex_size is 1, then g
412 * is a block group number; otherwise it is flex_bg number.
446 * Otherwise we simply return a random group.
450 * It's OK to put directory into a group unless
454 * Parent's group is preferred, if it doesn't satisfy these
456 * of the groups look good we just look for a group with more
457 * free inodes than average (starting at parent's group).
461 ext4_group_t *group, int mode,
526 *group = grp;
534 * start at 2nd block group of the flexgroup. See
543 *group = grp+i;
557 * Start looking in the flex group where we last allocated an
588 *group = grp;
606 ext4_group_t *group, int mode)
614 * Try to place the inode is the same flex group as its
616 * find another flex group, and store that information in the
618 * group for future allocations.
631 *group = i;
642 * to find a new flex group; we pass in the mode to
645 *group = parent_group + flex_size;
646 if (*group > ngroups)
647 *group = 0;
648 return find_group_orlov(sb, parent, group, mode, 0);
654 *group = parent_group;
655 desc = ext4_get_group_desc(sb, *group, NULL);
669 *group = (*group + parent->i_ino) % ngroups;
672 * Use a quadratic hash to find a group with a free inode and some free
676 *group += i;
677 if (*group >= ngroups)
678 *group -= ngroups;
679 desc = ext4_get_group_desc(sb, *group, NULL);
686 * That failed: try linear search for a free inode, even if that group
689 *group = parent_group;
691 if (++*group >= ngroups)
692 *group = 0;
693 desc = ext4_get_group_desc(sb, *group, NULL);
702 * claim the inode from the inode bitmap. If the group
705 * and group desc uninit flag clear should be done
711 unsigned long ino, ext4_group_t group, int mode)
715 struct ext4_group_desc *gdp = ext4_get_group_desc(sb, group, NULL);
717 ext4_lock_group(sb, group);
724 if ((group == 0 && ino < EXT4_FIRST_INO(sb)) ||
726 ext4_unlock_group(sb, group);
728 "block_group = %u, inode=%lu", group,
729 ino + group * EXT4_INODES_PER_GROUP(sb));
738 /* When marking the block group with
753 * relative inode number in this group. if it is greater
767 ext4_group_t f = ext4_flex_group(sbi, group);
772 gdp->bg_checksum = ext4_group_desc_csum(sbi, group, gdp);
774 ext4_unlock_group(sb, group);
780 * a directory, then a forward search is made for a block group with both
782 * the groups with above-average free space, that group with the fewest
786 * group to find a free inode.
794 ext4_group_t ngroups, group = 0;
824 group = (goal - 1) / EXT4_INODES_PER_GROUP(sb);
831 ret2 = find_group_flex(sb, dir, &group);
833 ret2 = find_group_other(sb, dir, &group, mode);
846 ret2 = find_group_dir(sb, dir, &group);
848 ret2 = find_group_orlov(sb, dir, &group, mode, qstr);
850 ret2 = find_group_other(sb, dir, &group, mode);
853 EXT4_I(dir)->i_last_alloc_group = group;
861 gdp = ext4_get_group_desc(sb, group, &group_desc_bh);
866 inode_bitmap_bh = ext4_read_inode_bitmap(sb, group);
889 ino, group, mode)) {
914 * group descriptor metadata has not yet been updated.
917 if (++group == ngroups)
918 group = 0;
929 block_bitmap_bh = ext4_read_block_bitmap(sb, group);
938 ext4_lock_group(sb, group);
941 free = ext4_free_blocks_after_init(sb, group, gdp);
944 gdp->bg_checksum = ext4_group_desc_csum(sbi, group,
947 ext4_unlock_group(sb, group);
971 flex_group = ext4_flex_group(sbi, group);
982 inode->i_ino = ino + group * EXT4_INODES_PER_GROUP(sb);
1001 ei->i_block_group = group;
1172 printk(KERN_DEBUG "group %lu: stored = %d, counted = %lu\n",