Skip to content

Commit

Permalink
hppfs: handle ->put_link()
Browse files Browse the repository at this point in the history
current code works only because nothing in procfs has non-trivial
->put_link().

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
  • Loading branch information
Al Viro committed Jan 14, 2010
1 parent 204f2f0 commit 7b264fc
Showing 1 changed file with 12 additions and 6 deletions.
18 changes: 12 additions & 6 deletions fs/hppfs/hppfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -646,29 +646,35 @@ static const struct super_operations hppfs_sbops = {
static int hppfs_readlink(struct dentry *dentry, char __user *buffer,
int buflen)
{
struct dentry *proc_dentry;

proc_dentry = HPPFS_I(dentry->d_inode)->proc_dentry;
struct dentry *proc_dentry = HPPFS_I(dentry->d_inode)->proc_dentry;
return proc_dentry->d_inode->i_op->readlink(proc_dentry, buffer,
buflen);
}

static void *hppfs_follow_link(struct dentry *dentry, struct nameidata *nd)
{
struct dentry *proc_dentry;

proc_dentry = HPPFS_I(dentry->d_inode)->proc_dentry;
struct dentry *proc_dentry = HPPFS_I(dentry->d_inode)->proc_dentry;

return proc_dentry->d_inode->i_op->follow_link(proc_dentry, nd);
}

static void hppfs_put_link(struct dentry *dentry, struct nameidata *nd,
void *cookie)
{
struct dentry *proc_dentry = HPPFS_I(dentry->d_inode)->proc_dentry;

if (proc_dentry->d_inode->i_op->put_link)
proc_dentry->d_inode->i_op->put_link(proc_dentry, nd, cookie);
}

static const struct inode_operations hppfs_dir_iops = {
.lookup = hppfs_lookup,
};

static const struct inode_operations hppfs_link_iops = {
.readlink = hppfs_readlink,
.follow_link = hppfs_follow_link,
.put_link = hppfs_put_link,
};

static struct inode *get_inode(struct super_block *sb, struct dentry *dentry)
Expand Down

0 comments on commit 7b264fc

Please sign in to comment.