linux/fs/configfs/symlink.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * symlink.c - operations for configfs symlinks.
 *
 * Based on sysfs:
 * 	sysfs is Copyright (C) 2001, 2002, 2003 Patrick Mochel
 *
 * configfs Copyright (C) 2005 Oracle.  All rights reserved.
 */

#include <linux/fs.h>
#include <linux/module.h>
#include <linux/namei.h>
#include <linux/slab.h>

#include <linux/configfs.h>
#include "configfs_internal.h"

/* Protects attachments of new symlinks */
DEFINE_MUTEX();

static int item_depth(struct config_item * item)
{}

static int item_path_length(struct config_item * item)
{}

static void fill_item_path(struct config_item * item, char * buffer, int length)
{}

static int configfs_get_target_path(struct config_item *item,
		struct config_item *target, char *path)
{}

static int create_link(struct config_item *parent_item,
		       struct config_item *item,
		       struct dentry *dentry)
{}


static int get_target(const char *symname, struct path *path,
		      struct config_item **target, struct super_block *sb)
{}


int configfs_symlink(struct mnt_idmap *idmap, struct inode *dir,
		     struct dentry *dentry, const char *symname)
{}

int configfs_unlink(struct inode *dir, struct dentry *dentry)
{}

const struct inode_operations configfs_symlink_inode_operations =;