mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 12:43:29 +02:00
don't pass superblock to hypfs_{mkdir,create*}
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
@@ -28,8 +28,7 @@
|
||||
#define HYPFS_MAGIC 0x687970 /* ASCII 'hyp' */
|
||||
#define TMP_SIZE 64 /* size of temporary buffers */
|
||||
|
||||
static struct dentry *hypfs_create_update_file(struct super_block *sb,
|
||||
struct dentry *dir);
|
||||
static struct dentry *hypfs_create_update_file(struct dentry *dir);
|
||||
|
||||
struct hypfs_sb_info {
|
||||
kuid_t uid; /* uid used for files and dirs */
|
||||
@@ -307,7 +306,7 @@ static int hypfs_fill_super(struct super_block *sb, void *data, int silent)
|
||||
rc = hypfs_diag_create_files(root_dentry);
|
||||
if (rc)
|
||||
return rc;
|
||||
sbi->update_file = hypfs_create_update_file(sb, root_dentry);
|
||||
sbi->update_file = hypfs_create_update_file(root_dentry);
|
||||
if (IS_ERR(sbi->update_file))
|
||||
return PTR_ERR(sbi->update_file);
|
||||
hypfs_update_update(sb);
|
||||
@@ -334,8 +333,7 @@ static void hypfs_kill_super(struct super_block *sb)
|
||||
kill_litter_super(sb);
|
||||
}
|
||||
|
||||
static struct dentry *hypfs_create_file(struct super_block *sb,
|
||||
struct dentry *parent, const char *name,
|
||||
static struct dentry *hypfs_create_file(struct dentry *parent, const char *name,
|
||||
char *data, umode_t mode)
|
||||
{
|
||||
struct dentry *dentry;
|
||||
@@ -347,7 +345,7 @@ static struct dentry *hypfs_create_file(struct super_block *sb,
|
||||
dentry = ERR_PTR(-ENOMEM);
|
||||
goto fail;
|
||||
}
|
||||
inode = hypfs_make_inode(sb, mode);
|
||||
inode = hypfs_make_inode(parent->d_sb, mode);
|
||||
if (!inode) {
|
||||
dput(dentry);
|
||||
dentry = ERR_PTR(-ENOMEM);
|
||||
@@ -373,24 +371,22 @@ fail:
|
||||
return dentry;
|
||||
}
|
||||
|
||||
struct dentry *hypfs_mkdir(struct super_block *sb, struct dentry *parent,
|
||||
const char *name)
|
||||
struct dentry *hypfs_mkdir(struct dentry *parent, const char *name)
|
||||
{
|
||||
struct dentry *dentry;
|
||||
|
||||
dentry = hypfs_create_file(sb, parent, name, NULL, S_IFDIR | DIR_MODE);
|
||||
dentry = hypfs_create_file(parent, name, NULL, S_IFDIR | DIR_MODE);
|
||||
if (IS_ERR(dentry))
|
||||
return dentry;
|
||||
hypfs_add_dentry(dentry);
|
||||
return dentry;
|
||||
}
|
||||
|
||||
static struct dentry *hypfs_create_update_file(struct super_block *sb,
|
||||
struct dentry *dir)
|
||||
static struct dentry *hypfs_create_update_file(struct dentry *dir)
|
||||
{
|
||||
struct dentry *dentry;
|
||||
|
||||
dentry = hypfs_create_file(sb, dir, "update", NULL,
|
||||
dentry = hypfs_create_file(dir, "update", NULL,
|
||||
S_IFREG | UPDATE_FILE_MODE);
|
||||
/*
|
||||
* We do not put the update file on the 'delete' list with
|
||||
@@ -400,7 +396,7 @@ static struct dentry *hypfs_create_update_file(struct super_block *sb,
|
||||
return dentry;
|
||||
}
|
||||
|
||||
struct dentry *hypfs_create_u64(struct super_block *sb, struct dentry *dir,
|
||||
struct dentry *hypfs_create_u64(struct dentry *dir,
|
||||
const char *name, __u64 value)
|
||||
{
|
||||
char *buffer;
|
||||
@@ -412,7 +408,7 @@ struct dentry *hypfs_create_u64(struct super_block *sb, struct dentry *dir,
|
||||
if (!buffer)
|
||||
return ERR_PTR(-ENOMEM);
|
||||
dentry =
|
||||
hypfs_create_file(sb, dir, name, buffer, S_IFREG | REG_FILE_MODE);
|
||||
hypfs_create_file(dir, name, buffer, S_IFREG | REG_FILE_MODE);
|
||||
if (IS_ERR(dentry)) {
|
||||
kfree(buffer);
|
||||
return ERR_PTR(-ENOMEM);
|
||||
@@ -421,7 +417,7 @@ struct dentry *hypfs_create_u64(struct super_block *sb, struct dentry *dir,
|
||||
return dentry;
|
||||
}
|
||||
|
||||
struct dentry *hypfs_create_str(struct super_block *sb, struct dentry *dir,
|
||||
struct dentry *hypfs_create_str(struct dentry *dir,
|
||||
const char *name, char *string)
|
||||
{
|
||||
char *buffer;
|
||||
@@ -432,7 +428,7 @@ struct dentry *hypfs_create_str(struct super_block *sb, struct dentry *dir,
|
||||
return ERR_PTR(-ENOMEM);
|
||||
sprintf(buffer, "%s\n", string);
|
||||
dentry =
|
||||
hypfs_create_file(sb, dir, name, buffer, S_IFREG | REG_FILE_MODE);
|
||||
hypfs_create_file(dir, name, buffer, S_IFREG | REG_FILE_MODE);
|
||||
if (IS_ERR(dentry)) {
|
||||
kfree(buffer);
|
||||
return ERR_PTR(-ENOMEM);
|
||||
|
Reference in New Issue
Block a user