Lines Matching defs:p_chain
148 static int __exfat_free_cluster(struct inode *inode, struct exfat_chain *p_chain)
157 if (p_chain->dir == EXFAT_FREE_CLUSTER ||
158 p_chain->dir == EXFAT_EOF_CLUSTER ||
159 p_chain->dir < EXFAT_FIRST_CLUSTER)
163 if (p_chain->size == 0)
167 if (!is_valid_cluster(sbi, p_chain->dir)) {
168 exfat_err(sb, "invalid start cluster (%u)", p_chain->dir);
172 clu = p_chain->dir;
177 if (p_chain->flags == ALLOC_NO_FAT_CHAIN) {
178 unsigned int last_cluster = p_chain->dir + p_chain->size - 1;
195 } while (num_clusters < p_chain->size);
227 int exfat_free_cluster(struct inode *inode, struct exfat_chain *p_chain)
232 ret = __exfat_free_cluster(inode, p_chain);
238 int exfat_find_last_cluster(struct super_block *sb, struct exfat_chain *p_chain,
244 next = p_chain->dir;
245 if (p_chain->flags == ALLOC_NO_FAT_CHAIN) {
246 *ret_clu = next + p_chain->size - 1;
257 if (p_chain->size != count) {
260 p_chain->size, count);
307 struct exfat_chain *p_chain, bool sync_bmap)
329 hint_clu = p_chain->dir;
351 p_chain->flags = ALLOC_FAT_CHAIN;
354 p_chain->dir = EXFAT_EOF_CLUSTER;
359 p_chain->flags == ALLOC_NO_FAT_CHAIN) {
360 if (exfat_chain_cont_cluster(sb, p_chain->dir,
361 p_chain->size)) {
365 p_chain->flags = ALLOC_FAT_CHAIN;
375 if (p_chain->flags == ALLOC_FAT_CHAIN) {
382 if (p_chain->dir == EXFAT_EOF_CLUSTER) {
383 p_chain->dir = new_clu;
384 } else if (p_chain->flags == ALLOC_FAT_CHAIN) {
390 p_chain->size++;
394 if (p_chain->size == num_alloc) {
406 if (p_chain->flags == ALLOC_NO_FAT_CHAIN) {
407 if (exfat_chain_cont_cluster(sb, p_chain->dir,
408 p_chain->size)) {
412 p_chain->flags = ALLOC_FAT_CHAIN;
417 __exfat_free_cluster(inode, p_chain);
424 struct exfat_chain *p_chain, unsigned int *ret_count)
430 if (!p_chain->dir || p_chain->dir == EXFAT_EOF_CLUSTER) {
435 if (p_chain->flags == ALLOC_NO_FAT_CHAIN) {
436 *ret_count = p_chain->size;
440 clu = p_chain->dir;