ReactOS 0.4.16-dev-106-g10b08aa
|
#include <udf_rel.h>
This structure describes actual data location. It is an analogue (and a pair in this implementation) of NTRequiredFcb structure.
UDF FSD keeps list of all Dloc structures & their on-disk representations. Before allocating new Dloc for newly opened file the FSD checks if the Dloc with the same Lba is already in memory. If it is so the initiator receive pointer to existing structure instead of allocating new. This allows to handle HardLiks properly. When all references to given Dloc has gone it is released. In case of file deletion the association between Dloc & Lba is discarded, but Dloc is not released untill UDFCleanUpFile__() is called. This prevents interference between deleted files & newly created ones in case of equal Lba of deleted & created FileEntries.
EXTENT_INFO _UDF_DATALOC_INFO::AllocLoc |
Describes on-disk location of allocation descriptors. They are part of metadata associated with given file If this structure is not initialized UDF assumes that no allocation descriptors recorded for this file. Usually this structure points to the same LBA as FELoc, but with non-zero offset inside logical block. The only exception is for files recorded using IN_ICB method (see above). In such a case this structure must be zero-filled
Definition at line 274 of file udf_rel.h.
Referenced by UDFCleanUpFile__(), UDFConvertFEToNonInICB(), UDFRecordVAT(), UDFUnlinkFile__(), and UDFWriteFile__().
struct _UDFNTRequiredFCB* _UDF_DATALOC_INFO::CommonFcb |
NT-specific field. As soon as NT supports HardLink concept it has own structure describing the file's actual data.
Definition at line 255 of file udf_rel.h.
Referenced by UDFBlankMount(), UDFCleanUpFile__(), UDFCommonCreate(), and UDFCompleteMount().
EXTENT_INFO _UDF_DATALOC_INFO::DataLoc |
Describes on-disk location of user data. If the file is recorded using IN_ICB method this structure points to the same LBA as FELoc, but with non-zero offset inside logical block
Definition at line 262 of file udf_rel.h.
Referenced by UDFCleanUpFile__(), UDFConvertFEToNonInICB(), UDFFlushFI(), UDFRecordVAT(), UDFRenameMoveFile__(), UDFUnlinkFile__(), and UDFWriteFile__().
PDIR_INDEX_HDR _UDF_DATALOC_INFO::DirIndex |
Points to the list of files referenced by the given file. This field is used for directories only. Otherwise its value should be NULL.
Definition at line 312 of file udf_rel.h.
Referenced by UDFBlankMount(), UDFCleanUpFile__(), UDFFlushFI(), UDFGetFileStreamInformation(), UDFMarkStreamsForDeletion(), UDFQueryDirectory(), and UDFUnlinkFile__().
uint32 _UDF_DATALOC_INFO::FE_Flags |
Set of flags. This is intended for internal use. Valid flags:
Definition at line 299 of file udf_rel.h.
Referenced by UDFCleanUpFile__(), UDFCreateStreamDir__(), UDFOpenStreamDir__(), UDFRecordVAT(), UDFRenameMoveFile__(), and UDFUnlinkFile__().
EXTENT_INFO _UDF_DATALOC_INFO::FELoc |
Describes on-disk location the FileEntry. This is on-disk metadata block describing file location.
Definition at line 279 of file udf_rel.h.
Referenced by UDFCleanUpFile__(), UDFCloseFile__(), UDFConvertFEToNonInICB(), UDFCreateStreamDir__(), UDFHardLinkFile__(), UDFRecordVAT(), UDFRenameMoveFile__(), UDFUnlinkFile__(), and UDFWriteFile__().
tag* _UDF_DATALOC_INFO::FileEntry |
Pointer to cached FileEntry. This field mush be valid untill all file instances are cleaned up (see UDFCleanUpFile__() and LinkRefCount).
Definition at line 285 of file udf_rel.h.
Referenced by UDFCleanUpFile__(), UDFCommonCleanup(), UDFCommonCreate(), UDFConvertFEToNonInICB(), UDFCreateStreamDir__(), UDFHardLinkFile__(), UDFLoadVAT(), UDFRecordVAT(), UDFRename(), UDFRenameMoveFile__(), UDFUnlinkFile__(), and UDFWriteFile__().
struct _UDF_FILE_INFO* _UDF_DATALOC_INFO::LinkedFileInfo |
Definition at line 313 of file udf_rel.h.
Referenced by UDFStoreDloc().
uint32 _UDF_DATALOC_INFO::LinkRefCount |
Counter of currently opened directory tree instances (files) pointing to given data. It is introduced because UDF supports HardLink concept. UDF_DATALOC_INFO structure should not be released untill this field reaches zero.
Definition at line 306 of file udf_rel.h.
Referenced by UDFBlankMount(), UDFCleanUpFile__(), UDFCommonCreate(), UDFHardLinkFile__(), and UDFRenameMoveFile__().
struct _UDF_FILE_INFO* _UDF_DATALOC_INFO::SDirInfo |
Points to the FileInfo describing the StreamDirectory associated with the given file. If the file has no associated StreamDirectory this field must bu NULL.
Definition at line 319 of file udf_rel.h.
Referenced by UDFCleanUpFile__(), UDFCommonCleanup(), and UDFUnlinkFile__().