Lines Matching full:leaf
34 * beginning of the leaf block. The dirents reside in leaves when
41 * used as an array of 64-bit block pointers pointing to the leaf blocks. The
43 * block pointer in the array that points to the same leaf. In fact, when a
45 * point to the same leaf.
47 * When a leaf is completely full, the size of the hash table can be
770 * get_leaf_nr - Get a leaf number associated with the index
772 * @index: hash table index of the targeted leaf
773 * @leaf_out: Resulting leaf block number
816 struct gfs2_leaf *leaf; in gfs2_dirent_search() local
834 leaf = (struct gfs2_leaf *)bh->b_data; in gfs2_dirent_search()
835 ln = be64_to_cpu(leaf->lf_next); in gfs2_dirent_search()
867 struct gfs2_leaf *leaf; in new_leaf() local
881 leaf = (struct gfs2_leaf *)bh->b_data; in new_leaf()
882 leaf->lf_depth = cpu_to_be16(depth); in new_leaf()
883 leaf->lf_entries = 0; in new_leaf()
884 leaf->lf_dirent_format = cpu_to_be32(GFS2_FORMAT_DE); in new_leaf()
885 leaf->lf_next = 0; in new_leaf()
886 leaf->lf_inode = cpu_to_be64(ip->i_no_addr); in new_leaf()
887 leaf->lf_dist = cpu_to_be32(1); in new_leaf()
888 leaf->lf_nsec = cpu_to_be32(tv.tv_nsec); in new_leaf()
889 leaf->lf_sec = cpu_to_be64(tv.tv_sec); in new_leaf()
890 memset(leaf->lf_reserved2, 0, sizeof(leaf->lf_reserved2)); in new_leaf()
891 dent = (struct gfs2_dirent *)(leaf+1); in new_leaf()
894 return leaf; in new_leaf()
911 struct gfs2_leaf *leaf; in dir_make_exhash() local
922 /* Turn over a new leaf */ in dir_make_exhash()
924 leaf = new_leaf(inode, &bh, 0); in dir_make_exhash()
925 if (!leaf) in dir_make_exhash()
930 leaf->lf_entries = cpu_to_be16(dip->i_entries); in dir_make_exhash()
965 /* We're done with the new leaf block, now setup the new in dir_make_exhash()
991 * dir_split_leaf - Split a leaf block into two
1016 /* Get the old leaf block */ in dir_split_leaf()
1036 /* Compute the start and len of leaf pointers in the hash table. */ in dir_split_leaf()
1314 current leaf */ in do_filldir_main()
1375 unsigned leaves = 0, leaf = 0, offset, sort_offset; in gfs2_dir_read_leaf() local
1406 * zone in case the number of entries in the leaf is corrupt. in gfs2_dir_read_leaf()
1408 * leaf block. in gfs2_dir_read_leaf()
1434 "leaf %llu, entries2 (%u) != " in gfs2_dir_read_leaf()
1443 sort_id = gfs2_set_cookies(sdp, bh, leaf, &darr[offset], in gfs2_dir_read_leaf()
1449 larr[leaf++] = bh; in gfs2_dir_read_leaf()
1451 larr[leaf++] = NULL; in gfs2_dir_read_leaf()
1460 for(i = 0; i < leaf; i++) in gfs2_dir_read_leaf()
1468 * gfs2_dir_readahead - Issue read-ahead requests for leaf blocks.
1475 * have the leaf, and therefore we don't have the depth, and therefore we
1706 * dir_new_leaf - Add a new leaf onto hash chain
1710 * This adds a new dir leaf onto an existing leaf when there is not
1713 * leaf blocks, so it will only occur for very large directories.
1715 * The dist parameter is set to 1 for leaf blocks directly attached
1717 * etc. We are thus able to tell the difference between an old leaf
1728 struct gfs2_leaf *leaf, *oleaf; in dir_new_leaf() local
1752 leaf = new_leaf(inode, &bh, be16_to_cpu(oleaf->lf_depth)); in dir_new_leaf()
1753 if (!leaf) { in dir_new_leaf()
1757 leaf->lf_dist = cpu_to_be32(dist); in dir_new_leaf()
1803 struct gfs2_leaf *leaf; in gfs2_dir_add() local
1820 leaf = (struct gfs2_leaf *)bh->b_data; in gfs2_dir_add()
1821 be16_add_cpu(&leaf->lf_entries, 1); in gfs2_dir_add()
1822 leaf->lf_nsec = cpu_to_be32(tv.tv_nsec); in gfs2_dir_add()
1823 leaf->lf_sec = cpu_to_be64(tv.tv_sec); in gfs2_dir_add()
1901 struct gfs2_leaf *leaf = (struct gfs2_leaf *)bh->b_data; in gfs2_dir_del() local
1902 u16 entries = be16_to_cpu(leaf->lf_entries); in gfs2_dir_del()
1905 leaf->lf_entries = cpu_to_be16(--entries); in gfs2_dir_del()
1906 leaf->lf_nsec = cpu_to_be32(tv.tv_nsec); in gfs2_dir_del()
1907 leaf->lf_sec = cpu_to_be64(tv.tv_sec); in gfs2_dir_del()
1961 * leaf_dealloc - Deallocate a directory leaf
1964 * @len: the number of pointers to this leaf
1965 * @leaf_no: the leaf number
1966 * @leaf_bh: buffer_head for the starting leaf
1967 * @last_dealloc: 1 if this is the final dealloc for the leaf, else 0
2091 * gfs2_dir_exhash_dealloc - free all the leaf blocks in a directory
2103 struct gfs2_leaf *leaf; in gfs2_dir_exhash_dealloc() local
2122 leaf = (struct gfs2_leaf *)bh->b_data; in gfs2_dir_exhash_dealloc()
2123 len = BIT(dip->i_depth - be16_to_cpu(leaf->lf_depth)); in gfs2_dir_exhash_dealloc()