Vhex-kernel/src/kernel/fs/gladfs/superblock/destroy_inode.c

29 lines
510 B
C

#include <kernel/fs/gladfs.h>
#include <kernel/memory.h>
int gladfs_destroy_inode(struct gladfs_inode_s *inode)
{
struct gladfs_fragment_data_s *fragdata;
struct gladfs_fragment_data_s *next;
// Check error.
if (inode == NULL)
return (-1);
// Free fragmented data
fragdata = inode->fragdata;
while (fragdata == NULL)
{
// Get next fragement
next = (void *)fragdata->next;
pm_free(fragdata);
// Update current fragment
fragdata = next;
}
// Free inode
pm_free(inode);
return (0);
}