Lines Matching refs:ep

14 static int exfat_extract_uni_name(struct exfat_dentry *ep,  in exfat_extract_uni_name()  argument
20 *uniname = le16_to_cpu(ep->dentry.name.unicode_0_14[i]); in exfat_extract_uni_name()
50 struct exfat_dentry *ep = exfat_get_dentry_cached(&es, i); in exfat_get_uniname_from_ext_entry() local
53 if (exfat_get_entry_type(ep) != TYPE_EXTEND) in exfat_get_uniname_from_ext_entry()
56 len = exfat_extract_uni_name(ep, uniname); in exfat_get_uniname_from_ext_entry()
74 struct exfat_dentry *ep; in exfat_readdir() local
118 ep = exfat_get_dentry(sb, &clu, i, &bh); in exfat_readdir()
119 if (!ep) in exfat_readdir()
122 type = exfat_get_entry_type(ep); in exfat_readdir()
133 num_ext = ep->dentry.file.num_ext; in exfat_readdir()
134 dir_entry->attr = le16_to_cpu(ep->dentry.file.attr); in exfat_readdir()
148 ep = exfat_get_dentry(sb, &clu, i + 1, &bh); in exfat_readdir()
149 if (!ep) in exfat_readdir()
328 unsigned int exfat_get_entry_type(struct exfat_dentry *ep) in exfat_get_entry_type() argument
330 if (ep->type == EXFAT_UNUSED) in exfat_get_entry_type()
332 if (IS_EXFAT_DELETED(ep->type)) in exfat_get_entry_type()
334 if (ep->type == EXFAT_INVAL) in exfat_get_entry_type()
336 if (IS_EXFAT_CRITICAL_PRI(ep->type)) { in exfat_get_entry_type()
337 if (ep->type == EXFAT_BITMAP) in exfat_get_entry_type()
339 if (ep->type == EXFAT_UPCASE) in exfat_get_entry_type()
341 if (ep->type == EXFAT_VOLUME) in exfat_get_entry_type()
343 if (ep->type == EXFAT_FILE) { in exfat_get_entry_type()
344 if (le16_to_cpu(ep->dentry.file.attr) & EXFAT_ATTR_SUBDIR) in exfat_get_entry_type()
350 if (IS_EXFAT_BENIGN_PRI(ep->type)) { in exfat_get_entry_type()
351 if (ep->type == EXFAT_GUID) in exfat_get_entry_type()
353 if (ep->type == EXFAT_PADDING) in exfat_get_entry_type()
355 if (ep->type == EXFAT_ACLTAB) in exfat_get_entry_type()
359 if (IS_EXFAT_CRITICAL_SEC(ep->type)) { in exfat_get_entry_type()
360 if (ep->type == EXFAT_STREAM) in exfat_get_entry_type()
362 if (ep->type == EXFAT_NAME) in exfat_get_entry_type()
364 if (ep->type == EXFAT_ACL) in exfat_get_entry_type()
369 if (ep->type == EXFAT_VENDOR_EXT) in exfat_get_entry_type()
371 if (ep->type == EXFAT_VENDOR_ALLOC) in exfat_get_entry_type()
377 static void exfat_set_entry_type(struct exfat_dentry *ep, unsigned int type) in exfat_set_entry_type() argument
380 ep->type = EXFAT_UNUSED; in exfat_set_entry_type()
382 ep->type &= EXFAT_DELETE; in exfat_set_entry_type()
384 ep->type = EXFAT_STREAM; in exfat_set_entry_type()
386 ep->type = EXFAT_NAME; in exfat_set_entry_type()
388 ep->type = EXFAT_BITMAP; in exfat_set_entry_type()
390 ep->type = EXFAT_UPCASE; in exfat_set_entry_type()
392 ep->type = EXFAT_VOLUME; in exfat_set_entry_type()
394 ep->type = EXFAT_FILE; in exfat_set_entry_type()
395 ep->dentry.file.attr = cpu_to_le16(EXFAT_ATTR_SUBDIR); in exfat_set_entry_type()
397 ep->type = EXFAT_FILE; in exfat_set_entry_type()
398 ep->dentry.file.attr = cpu_to_le16(EXFAT_ATTR_ARCHIVE); in exfat_set_entry_type()
402 static void exfat_init_stream_entry(struct exfat_dentry *ep, in exfat_init_stream_entry() argument
405 memset(ep, 0, sizeof(*ep)); in exfat_init_stream_entry()
406 exfat_set_entry_type(ep, TYPE_STREAM); in exfat_init_stream_entry()
408 ep->dentry.stream.flags = ALLOC_FAT_CHAIN; in exfat_init_stream_entry()
410 ep->dentry.stream.flags = ALLOC_NO_FAT_CHAIN; in exfat_init_stream_entry()
411 ep->dentry.stream.start_clu = cpu_to_le32(start_clu); in exfat_init_stream_entry()
412 ep->dentry.stream.valid_size = cpu_to_le64(size); in exfat_init_stream_entry()
413 ep->dentry.stream.size = cpu_to_le64(size); in exfat_init_stream_entry()
416 static void exfat_init_name_entry(struct exfat_dentry *ep, in exfat_init_name_entry() argument
421 exfat_set_entry_type(ep, TYPE_EXTEND); in exfat_init_name_entry()
422 ep->dentry.name.flags = 0x0; in exfat_init_name_entry()
426 ep->dentry.name.unicode_0_14[i] = cpu_to_le16(*uniname); in exfat_init_name_entry()
429 ep->dentry.name.unicode_0_14[i] = 0x0; in exfat_init_name_entry()
440 struct exfat_dentry *ep; in exfat_init_dir_entry() local
442 ep = exfat_get_dentry_cached(es, ES_IDX_FILE); in exfat_init_dir_entry()
443 memset(ep, 0, sizeof(*ep)); in exfat_init_dir_entry()
444 exfat_set_entry_type(ep, type); in exfat_init_dir_entry()
446 &ep->dentry.file.create_tz, in exfat_init_dir_entry()
447 &ep->dentry.file.create_time, in exfat_init_dir_entry()
448 &ep->dentry.file.create_date, in exfat_init_dir_entry()
449 &ep->dentry.file.create_time_cs); in exfat_init_dir_entry()
451 &ep->dentry.file.modify_tz, in exfat_init_dir_entry()
452 &ep->dentry.file.modify_time, in exfat_init_dir_entry()
453 &ep->dentry.file.modify_date, in exfat_init_dir_entry()
454 &ep->dentry.file.modify_time_cs); in exfat_init_dir_entry()
456 &ep->dentry.file.access_tz, in exfat_init_dir_entry()
457 &ep->dentry.file.access_time, in exfat_init_dir_entry()
458 &ep->dentry.file.access_date, in exfat_init_dir_entry()
461 ep = exfat_get_dentry_cached(es, ES_IDX_STREAM); in exfat_init_dir_entry()
462 exfat_init_stream_entry(ep, start_clu, size); in exfat_init_dir_entry()
466 struct exfat_dentry *ep) in exfat_free_benign_secondary_clusters() argument
471 le32_to_cpu(ep->dentry.generic_secondary.start_clu); in exfat_free_benign_secondary_clusters()
472 u64 size = le64_to_cpu(ep->dentry.generic_secondary.size); in exfat_free_benign_secondary_clusters()
473 unsigned char flags = ep->dentry.generic_secondary.flags; in exfat_free_benign_secondary_clusters()
489 struct exfat_dentry *ep; in exfat_init_ext_entry() local
491 ep = exfat_get_dentry_cached(es, ES_IDX_FILE); in exfat_init_ext_entry()
492 ep->dentry.file.num_ext = (unsigned char)(num_entries - 1); in exfat_init_ext_entry()
494 ep = exfat_get_dentry_cached(es, ES_IDX_STREAM); in exfat_init_ext_entry()
495 ep->dentry.stream.name_len = p_uniname->name_len; in exfat_init_ext_entry()
496 ep->dentry.stream.name_hash = cpu_to_le16(p_uniname->name_hash); in exfat_init_ext_entry()
499 ep = exfat_get_dentry_cached(es, i); in exfat_init_ext_entry()
500 exfat_init_name_entry(ep, uniname); in exfat_init_ext_entry()
511 struct exfat_dentry *ep; in exfat_remove_entries() local
514 ep = exfat_get_dentry_cached(es, i); in exfat_remove_entries()
516 if (exfat_get_entry_type(ep) & TYPE_BENIGN_SEC) in exfat_remove_entries()
517 exfat_free_benign_secondary_clusters(inode, ep); in exfat_remove_entries()
519 exfat_set_entry_type(ep, TYPE_DELETED); in exfat_remove_entries()
530 struct exfat_dentry *ep; in exfat_update_dir_chksum() local
533 ep = exfat_get_dentry_cached(es, i); in exfat_update_dir_chksum()
534 chksum = exfat_calc_chksum16(ep, DENTRY_SIZE, chksum, in exfat_update_dir_chksum()
538 ep = exfat_get_dentry_cached(es, ES_IDX_FILE); in exfat_update_dir_chksum()
539 ep->dentry.file.checksum = cpu_to_le16(chksum); in exfat_update_dir_chksum()
783 struct exfat_dentry *ep; in __exfat_get_dentry_set() local
785 ep = exfat_get_dentry_cached(es, ES_IDX_FILE); in __exfat_get_dentry_set()
786 if (ep->type != EXFAT_FILE) { in __exfat_get_dentry_set()
791 num_entries = ep->dentry.file.num_ext + 1; in __exfat_get_dentry_set()
838 struct exfat_dentry *ep; in exfat_get_dentry_set() local
847 ep = exfat_get_dentry_cached(es, i); in exfat_get_dentry_set()
848 if (!exfat_validate_entry(exfat_get_entry_type(ep), &mode)) in exfat_get_dentry_set()
860 struct exfat_dentry *ep; in exfat_validate_empty_dentry_set() local
872 ep = exfat_get_dentry_cached(es, i); in exfat_validate_empty_dentry_set()
873 if (ep->type == EXFAT_UNUSED) { in exfat_validate_empty_dentry_set()
875 } else if (!IS_EXFAT_DELETED(ep->type)) { in exfat_validate_empty_dentry_set()
891 bh->b_blocknr, off >> DENTRY_SIZE_BITS, ep->type); in exfat_validate_empty_dentry_set()
898 ep = exfat_get_dentry_cached(es, i); in exfat_validate_empty_dentry_set()
899 if (IS_EXFAT_DELETED(ep->type)) in exfat_validate_empty_dentry_set()
1024 struct exfat_dentry *ep; in exfat_find_dir_entry() local
1030 ep = exfat_get_dentry(sb, &clu, i, &bh); in exfat_find_dir_entry()
1031 if (!ep) in exfat_find_dir_entry()
1034 entry_type = exfat_get_entry_type(ep); in exfat_find_dir_entry()
1056 num_ext = ep->dentry.file.num_ext; in exfat_find_dir_entry()
1072 ep->dentry.stream.name_hash); in exfat_find_dir_entry()
1075 ep->dentry.stream.name_len) { in exfat_find_dir_entry()
1099 len = exfat_extract_uni_name(ep, entry_uniname); in exfat_find_dir_entry()
1205 struct exfat_dentry *ep; in exfat_count_dir_entries() local
1215 ep = exfat_get_dentry(sb, &clu, i, &bh); in exfat_count_dir_entries()
1216 if (!ep) in exfat_count_dir_entries()
1218 entry_type = exfat_get_entry_type(ep); in exfat_count_dir_entries()