fs/ntfs/index.h

Source file repositories/reference/linux-study-clean/fs/ntfs/index.h

File Facts

System
Linux kernel
Corpus path
fs/ntfs/index.h
Extension
.h
Size
4764 bytes
Lines
120
Domain
Core OS
Bucket
VFS And Filesystem Core
Inferred role
Core OS: implementation source
Status
source implementation candidate

Why This File Exists

Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.

Dependency Surface

Detected Declarations

Annotated Snippet

struct ntfs_index_context {
	struct ntfs_inode *idx_ni;
	__le16 *name;
	u32 name_len;
	struct index_entry *entry;
	__le32 cr;
	void *data;
	u16 data_len;
	bool is_in_root;
	struct index_root *ir;
	struct ntfs_attr_search_ctx *actx;
	struct index_block *ib;
	struct ntfs_inode *ia_ni;
	int parent_pos[MAX_PARENT_VCN];
	s64 parent_vcn[MAX_PARENT_VCN];
	int pindex;
	bool ib_dirty;
	u32 block_size;
	u8 vcn_size_bits;
	bool sync_write;
};

int ntfs_index_root_inconsistent(struct ntfs_volume *vol,
				 const struct attr_record *a,
				 const struct index_root *ir, u64 inum);
int ntfs_index_block_inconsistent(struct ntfs_volume *vol,
				  const struct index_block *ib,
				  u32 block_size, s64 vcn,
				  __le32 cr, u64 inum);
int ntfs_index_entries_inconsistent(const struct ntfs_volume *vol,
				    const struct index_header *ih,
				    __le32 collation_rule, u64 inum);
struct ntfs_index_context *ntfs_index_ctx_get(struct ntfs_inode *ni, __le16 *name,
		u32 name_len);
void ntfs_index_ctx_put(struct ntfs_index_context *ictx);
int ntfs_index_lookup(const void *key, const u32 key_len,
		struct ntfs_index_context *ictx);

void ntfs_index_entry_mark_dirty(struct ntfs_index_context *ictx);
int ntfs_index_add_filename(struct ntfs_inode *ni, struct file_name_attr *fn, u64 mref);
int ntfs_index_remove(struct ntfs_inode *ni, const void *key, const u32 keylen);
struct ntfs_inode *ntfs_ia_open(struct ntfs_index_context *icx, struct ntfs_inode *ni);
struct index_entry *ntfs_index_walk_down(struct index_entry *ie, struct ntfs_index_context *ictx);
struct index_entry *ntfs_index_next(struct index_entry *ie, struct ntfs_index_context *ictx);
int ntfs_index_rm(struct ntfs_index_context *icx);
void ntfs_index_ctx_reinit(struct ntfs_index_context *icx);
int ntfs_ie_add(struct ntfs_index_context *icx, struct index_entry *ie);
int ntfs_icx_ib_sync_write(struct ntfs_index_context *icx);

#endif /* _LINUX_NTFS_INDEX_H */

Annotation

Implementation Notes