fs/ntfs/volume.h

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

File Facts

System
Linux kernel
Corpus path
fs/ntfs/volume.h
Extension
.h
Size
9540 bytes
Lines
297
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_volume {
	struct super_block *sb;
	s64 nr_blocks;
	unsigned long flags;
	kuid_t uid;
	kgid_t gid;
	umode_t fmask;
	umode_t dmask;
	u8 mft_zone_multiplier;
	u8 on_errors;
	errseq_t wb_err;
	u16 sector_size;
	u8 sector_size_bits;
	u32 cluster_size;
	u32 cluster_size_mask;
	u8 cluster_size_bits;
	u32 mft_record_size;
	u32 mft_record_size_mask;
	u8 mft_record_size_bits;
	u32 index_record_size;
	u32 index_record_size_mask;
	u8 index_record_size_bits;
	s64 nr_clusters;
	s64 mft_lcn;
	s64 mftmirr_lcn;
	u64 serial_no;
	u32 upcase_len;
	__le16 *upcase;
	s32 attrdef_size;
	struct attr_def *attrdef;
	s64 mft_data_pos;
	s64 mft_zone_start;
	s64 mft_zone_end;
	s64 mft_zone_pos;
	s64 data1_zone_pos;
	s64 data2_zone_pos;
	struct inode *mft_ino;
	struct inode *mftbmp_ino;
	struct rw_semaphore mftbmp_lock;
	struct inode *mftmirr_ino;
	int mftmirr_size;
	struct inode *logfile_ino;
	struct inode *lcnbmp_ino;
	struct rw_semaphore lcnbmp_lock;
	struct mutex volume_label_lock;
	struct inode *vol_ino;
	__le16 vol_flags;
	u8 major_ver;
	u8 minor_ver;
	unsigned char *volume_label;
	struct inode *root_ino;
	struct inode *secure_ino;
	struct inode *extend_ino;
	struct nls_table *nls_map;
	bool nls_utf8;
	wait_queue_head_t free_waitq;
	atomic64_t free_clusters;
	atomic64_t free_mft_records;
	atomic64_t dirty_clusters;
	u8 sparse_compression_unit;
	unsigned int *lcn_empty_bits_per_page;
	struct work_struct precalc_work;
	loff_t preallocated_size;
};

/*
 * Defined bits for the flags field in the ntfs_volume structure.
 *
 * NV_Errors			Volume has errors, prevent remount rw.
 * NV_ShowSystemFiles		Return system files in ntfs_readdir().
 * NV_CaseSensitive		Treat file names as case sensitive and
 *				create filenames in the POSIX namespace.
 *				Otherwise be case insensitive but still
 *				create file names in POSIX namespace.
 * NV_LogFileEmpty		LogFile journal is empty.
 * NV_UsnJrnlStamped		UsnJrnl has been stamped.
 * NV_ReadOnly			Volume is mounted read-only.
 * NV_Compression		Volume supports compression.
 * NV_FreeClusterKnown		Free cluster count is known and up-to-date.
 * NV_Shutdown			Volume is in shutdown state
 * NV_SysImmutable		Protect system files from deletion.
 * NV_ShowHiddenFiles		Return hidden files in ntfs_readdir().
 * NV_HideDotFiles		Hide names beginning with a dot (".").
 * NV_CheckWindowsNames		Refuse creation/rename of files with
 *				Windows-reserved names (CON, AUX, NUL, COM1,
 *				LPT1, etc.) or invalid characters.
 *
 * NV_Discard			Issue discard/TRIM commands for freed clusters.
 * NV_DisableSparse		Disable creation of sparse regions.
 * NV_NativeSymlinkRel		Translate absolute Windows reparse targets (native_symlink=rel).

Annotation

Implementation Notes