Lines Matching +full:back +full:- +full:end
1 /*-
4 * Aug 1995, Godmar Back (gback@cs.utah.edu)
7 /*-
8 * SPDX-License-Identifier: BSD-3-Clause
60 * directory "ip". If "res" is non-zero, fill it in with a pointer to the
73 fs = ip->i_e2fs; in ext2_blkatoff()
87 *res = (char *)bp->b_data + blkoff(fs, offset); in ext2_blkatoff()
97 * Cnt == 1 means free; cnt == -1 means allocating.
102 int32_t *sump = fs->e2fs_clustersum[cg].cs_sum; in ext2_clusteracct()
104 e4fs_daddr_t start, end, loc, forw, back; in ext2_clusteracct() local
108 if (fs->e2fs_clustersum[cg].cs_init == 0) { in ext2_clusteracct()
114 for (i = 0; i < fs->e2fs_fpg; i++) { in ext2_clusteracct()
118 if (run > fs->e2fs_contigsumsize) in ext2_clusteracct()
119 run = fs->e2fs_contigsumsize; in ext2_clusteracct()
123 if ((i & (NBBY - 1)) != (NBBY - 1)) in ext2_clusteracct()
131 if (run > fs->e2fs_contigsumsize) in ext2_clusteracct()
132 run = fs->e2fs_contigsumsize; in ext2_clusteracct()
135 fs->e2fs_clustersum[cg].cs_init = 1; in ext2_clusteracct()
138 if (fs->e2fs_contigsumsize <= 0) in ext2_clusteracct()
143 end = start + fs->e2fs_contigsumsize; in ext2_clusteracct()
144 if (end > fs->e2fs_fpg) in ext2_clusteracct()
145 end = fs->e2fs_fpg; in ext2_clusteracct()
148 for (i = start; i < end; i++) { in ext2_clusteracct()
151 if ((i & (NBBY - 1)) != (NBBY - 1)) in ext2_clusteracct()
158 forw = i - start; in ext2_clusteracct()
161 start = bno - 1; in ext2_clusteracct()
162 end = start - fs->e2fs_contigsumsize; in ext2_clusteracct()
163 if (end < 0) in ext2_clusteracct()
164 end = -1; in ext2_clusteracct()
167 for (i = start; i > end; i--) { in ext2_clusteracct()
170 if ((i & (NBBY - 1)) != 0) in ext2_clusteracct()
173 loc--; in ext2_clusteracct()
174 bit = 1 << (NBBY - 1); in ext2_clusteracct()
177 back = start - i; in ext2_clusteracct()
181 * back clusters. in ext2_clusteracct()
183 i = back + forw + 1; in ext2_clusteracct()
184 if (i > fs->e2fs_contigsumsize) in ext2_clusteracct()
185 i = fs->e2fs_contigsumsize; in ext2_clusteracct()
187 if (back > 0) in ext2_clusteracct()
188 sump[back] -= cnt; in ext2_clusteracct()
190 sump[forw] -= cnt; in ext2_clusteracct()
193 lp = &sump[fs->e2fs_contigsumsize]; in ext2_clusteracct()
194 for (i = fs->e2fs_contigsumsize; i > 0; i--) in ext2_clusteracct()
195 if (*lp-- > 0) in ext2_clusteracct()
197 fs->e2fs_maxcluster[cg] = i; in ext2_clusteracct()