```
touch /tmp/aaa.csv

CREATE TABLE log (A String) ENGINE= FileLog('/tmp/aaa.csv', 'CSV');
DB::Exception: The absolute data path should be inside `user_files_path`(/var/lib/clickhouse/user_files/). (BAD_ARGUMENTS)


CREATE TABLE log (A String) ENGINE= FileLog('/tmp/aaa.csv', 'CSV');
DB::Exception: Metadata files already exist by path: /var/lib/clickhouse/.filelog_storage_metadata/default/log, remove them manually if it is intended. (TABLE_METADATA_ALREADY_EXISTS)
```
}
        
        else
        {
            FileMeta meta{file, 0, 0};
            file_infos.meta_by_inode.emplace(ctx.inode, meta);
        }
    }
    
    if (file_infos.meta_by_inode.size() > file_infos.context_by_name.size())
    {
        InodeToFileMeta valid_metas;
        valid_metas.reserve(file_infos.context_by_name.size());
        for (const auto & [inode, meta] : file_infos.meta_by_inode)
        {
            
            
            
            
            if (auto it = file_infos.context_by_name.find(meta.file_name);
                it != file_infos.context_by_name.end() && it->second.inode == inode)
                valid_metas.emplace(inode, meta);
            
            else
                std::filesystem::remove(getFullMetaPath(meta.file_name));
        }
        file_infos.meta_by_inode.swap(valid_metas);
    }
}
void StorageFileLog::serialize() const