mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 13:18:13 +00:00
Kernel/Ext2FS: Avoid temporary String allocation during inode creation
Make sure we pass the StringView we get all the way through so it never turns into a heap-allocated String. :^)
This commit is contained in:
parent
4ce99e4ab7
commit
4cbe348a0f
2 changed files with 4 additions and 4 deletions
|
@ -1539,7 +1539,7 @@ KResult Ext2FS::set_block_allocation_state(BlockIndex block_index, bool new_stat
|
||||||
return update_bitmap_block(bgd.bg_block_bitmap, bit_index, new_state, m_super_block.s_free_blocks_count, bgd.bg_free_blocks_count);
|
return update_bitmap_block(bgd.bg_block_bitmap, bit_index, new_state, m_super_block.s_free_blocks_count, bgd.bg_free_blocks_count);
|
||||||
}
|
}
|
||||||
|
|
||||||
KResult Ext2FS::create_directory(Ext2FSInode& parent_inode, const String& name, mode_t mode, UserID uid, GroupID gid)
|
KResult Ext2FS::create_directory(Ext2FSInode& parent_inode, StringView name, mode_t mode, UserID uid, GroupID gid)
|
||||||
{
|
{
|
||||||
MutexLocker locker(m_lock);
|
MutexLocker locker(m_lock);
|
||||||
VERIFY(is_directory(mode));
|
VERIFY(is_directory(mode));
|
||||||
|
@ -1569,7 +1569,7 @@ KResult Ext2FS::create_directory(Ext2FSInode& parent_inode, const String& name,
|
||||||
return KSuccess;
|
return KSuccess;
|
||||||
}
|
}
|
||||||
|
|
||||||
KResultOr<NonnullRefPtr<Inode>> Ext2FS::create_inode(Ext2FSInode& parent_inode, const String& name, mode_t mode, dev_t dev, UserID uid, GroupID gid)
|
KResultOr<NonnullRefPtr<Inode>> Ext2FS::create_inode(Ext2FSInode& parent_inode, StringView name, mode_t mode, dev_t dev, UserID uid, GroupID gid)
|
||||||
{
|
{
|
||||||
if (name.length() > EXT2_NAME_LEN)
|
if (name.length() > EXT2_NAME_LEN)
|
||||||
return ENAMETOOLONG;
|
return ENAMETOOLONG;
|
||||||
|
|
|
@ -130,8 +130,8 @@ private:
|
||||||
virtual StringView class_name() const override { return "Ext2FS"sv; }
|
virtual StringView class_name() const override { return "Ext2FS"sv; }
|
||||||
virtual Ext2FSInode& root_inode() override;
|
virtual Ext2FSInode& root_inode() override;
|
||||||
RefPtr<Inode> get_inode(InodeIdentifier) const;
|
RefPtr<Inode> get_inode(InodeIdentifier) const;
|
||||||
KResultOr<NonnullRefPtr<Inode>> create_inode(Ext2FSInode& parent_inode, const String& name, mode_t, dev_t, UserID, GroupID);
|
KResultOr<NonnullRefPtr<Inode>> create_inode(Ext2FSInode& parent_inode, StringView name, mode_t, dev_t, UserID, GroupID);
|
||||||
KResult create_directory(Ext2FSInode& parent_inode, const String& name, mode_t, UserID, GroupID);
|
KResult create_directory(Ext2FSInode& parent_inode, StringView name, mode_t, UserID, GroupID);
|
||||||
virtual void flush_writes() override;
|
virtual void flush_writes() override;
|
||||||
|
|
||||||
BlockIndex first_block_index() const;
|
BlockIndex first_block_index() const;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue