+int
+ramfs_unmount(struct v_superblock* vsb)
+{
+ return 0;
+}
+
+int
+ramfs_mksymlink(struct v_inode* this, const char* target)
+{
+ struct ram_inode* rinode = RAM_INODE(this->data);
+
+ assert(!(rinode->flags & RAMF_SYMLINK));
+
+ size_t len = strlen(target) + 1;
+ char* symlink = valloc(len);
+
+ if (!symlink) {
+ return ENOMEM;
+ }
+
+ memcpy(symlink, target, len);
+
+ this->itype = VFS_IFSYMLINK;
+ rinode->flags |= RAMF_SYMLINK;
+ rinode->symlink = symlink;
+ rinode->size = len;