mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 15:07:45 +00:00
FileSystem: Convert file types to DT_* types at a later stage
A change introduced in 5e01234 made it the resposibility of each filesystem to have the file types returned from 'traverse_as_directory' match up with the DT_* types. However, this caused corruption of the Ext2FS file format because the Ext2FS uses 'traverse_as_directory' internally when manipulating the file system. The result was a mixture between EXT2_FT_* and DT_* file types in the internal Ext2FS structures. Starting with this commit, the conversion from internal filesystem file types to the user facing DT_* types happens at a later stage, in the 'FileDescription::get_dir_entries' function which is directly used by sys$get_dir_entries.
This commit is contained in:
parent
e68b158a52
commit
33138900de
4 changed files with 11 additions and 6 deletions
|
@ -77,12 +77,15 @@ public:
|
|||
u8 file_type { 0 };
|
||||
};
|
||||
|
||||
virtual void flush_writes() { }
|
||||
virtual void flush_writes() {}
|
||||
|
||||
size_t block_size() const { return m_block_size; }
|
||||
|
||||
virtual bool is_file_backed() const { return false; }
|
||||
|
||||
// Converts file types that are used internally by the filesystem to DT_* types
|
||||
virtual u8 internal_file_type_to_directory_entry_type(const DirectoryEntryView& entry) const { return entry.file_type; }
|
||||
|
||||
protected:
|
||||
FS();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue