81.3.3.2. ТОМА ФАЙЛОВОЙ СИСТЕМЫ




	Структуры размещения файлов		Логический том

	Аллокирование свободного места
	Учет плохих блоков

	Расположение контейнера на диске	Физический том




Логический том - это монтируемая сущность Физический том - сущность которая занимает место на диске, может содержать логические тома которые имеют единую структуру распределения места внутри физического тома. Case-sensitivity:

Case-preserved:

Организация inode:



API для томов файловой системы Операции с томами Получить информацию о томе Имя файловой системы Серийный номер тома Метка тома Свойства файловой системы case-sensitive support ACL support compressed files support encrypted files support named data streams support sparse files support quotas support reparse points Установить информацию о томе Установить метку тома Получить размер свободного места на томе Получить тип тома Removable Fixed Remote CD/DVD Ramdisk Квоты на всех пользователей (кроме root) на конкретного пользователя мягкая квота жесткая квота Для систем с некорневыми файловыми подсистемами получить список томов Монтировать том Дизмонтировать том UNIX API:
int	statvfs(const char* path, struct statvfs* buf)
int	fstatvds(int fd, struct statvfs* buf)

struct	statvfs
{
	unsigned long	f_bsize;
	unsigned long	f_frsize;
	unsigned long	f_blocks;
	usnigned long	f_bfree;
	unsigned long	f_avail;
	unsigned long	f_files;
	unsigned long	f_ffree;
	unsigned long	f_favail;
	unsigned long	f_fsid;
	unsigned long	f_flag;
				ST_NOATIME
				ST_MANDLOCK
				ST_NODEV
				ST_NODIRATIME
				ST_NOEXEC
				ST_NOSUID
				ST_RDONLY
				ST_SYNCHRONOUS
	unsigned long	f_namemax;
}
Получение abilities файловой системы:
long int pathconf(const char* pathname, int name)	// by path
long int fpathconf(int fd, int name)			// by handle

	_PC_PATH_MAX		max number of links
	_PC_NAME_MAX            max name len
	_PC_PATH_MAX		max path len
BOOL GetVolumeInformation(
  LPCTSTR lpRootPathName,
  LPTSTR lpVolumeNameBuffer,
  DWORD nVolumeNameSize,
  LPDWORD lpVolumeSerialNumber,
  LPDWORD lpMaximumComponentLength,
  LPDWORD lpFileSystemFlags,
  LPTSTR lpFileSystemNameBuffer,
  DWORD nFileSystemNameSize
);

	FILE_NAMED_STREAMS
	FILE_READ_ONLY_VOLUME
	FILE_SUPPORTS_OBJECT_IDS
	FILE_SUPPORTS_REPARSE_POINTS
	FILE_SUPPORTS_SPARSE_FILES
	FILE_VOLUME_QUOTAS
	FS_CASE_IS_PRESERVED
	FS_CASE_SENSITIVE
	FS_FILE_COMPRESSION
	FS_FILE_ENCRYPTION
	FS_PERSISTENT_ACLS
	FS_UNICODE_STORED_ON_DISK
	FS_VOL_IS_COMPRESSED


Index Prev Next