diff options
author | Louis Rilling <Louis.Rilling@kerlabs.com> | 2008-06-16 13:01:00 -0400 |
---|---|---|
committer | Mark Fasheh <mfasheh@suse.com> | 2008-07-14 16:57:16 -0400 |
commit | 107ed40bd070df5e4a0a012042c45c40963dc574 (patch) | |
tree | d3b8c1799083c0e7d4f1af3e1b84f0a86372eaee /fs | |
parent | 5301a77da2da1e4c22573e0e8d394a653b8ad9f9 (diff) |
configfs: Make configfs_new_dirent() return error code instead of NULL
This patch makes configfs_new_dirent return negative error code instead of NULL,
which will be useful in the next patch to differentiate ENOMEM from ENOENT.
Signed-off-by: Louis Rilling <Louis.Rilling@kerlabs.com>
Signed-off-by: Joel Becker <joel.becker@oracle.com>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/configfs/dir.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/fs/configfs/dir.c b/fs/configfs/dir.c index a08e5c2f25e..918a332babf 100644 --- a/fs/configfs/dir.c +++ b/fs/configfs/dir.c | |||
@@ -30,6 +30,7 @@ | |||
30 | #include <linux/mount.h> | 30 | #include <linux/mount.h> |
31 | #include <linux/module.h> | 31 | #include <linux/module.h> |
32 | #include <linux/slab.h> | 32 | #include <linux/slab.h> |
33 | #include <linux/err.h> | ||
33 | 34 | ||
34 | #include <linux/configfs.h> | 35 | #include <linux/configfs.h> |
35 | #include "configfs_internal.h" | 36 | #include "configfs_internal.h" |
@@ -83,7 +84,7 @@ static struct configfs_dirent *configfs_new_dirent(struct configfs_dirent * pare | |||
83 | 84 | ||
84 | sd = kmem_cache_zalloc(configfs_dir_cachep, GFP_KERNEL); | 85 | sd = kmem_cache_zalloc(configfs_dir_cachep, GFP_KERNEL); |
85 | if (!sd) | 86 | if (!sd) |
86 | return NULL; | 87 | return ERR_PTR(-ENOMEM); |
87 | 88 | ||
88 | atomic_set(&sd->s_count, 1); | 89 | atomic_set(&sd->s_count, 1); |
89 | INIT_LIST_HEAD(&sd->s_links); | 90 | INIT_LIST_HEAD(&sd->s_links); |
@@ -129,8 +130,8 @@ int configfs_make_dirent(struct configfs_dirent * parent_sd, | |||
129 | struct configfs_dirent * sd; | 130 | struct configfs_dirent * sd; |
130 | 131 | ||
131 | sd = configfs_new_dirent(parent_sd, element); | 132 | sd = configfs_new_dirent(parent_sd, element); |
132 | if (!sd) | 133 | if (IS_ERR(sd)) |
133 | return -ENOMEM; | 134 | return PTR_ERR(sd); |
134 | 135 | ||
135 | sd->s_mode = mode; | 136 | sd->s_mode = mode; |
136 | sd->s_type = type; | 137 | sd->s_type = type; |
@@ -1277,7 +1278,7 @@ static int configfs_dir_open(struct inode *inode, struct file *file) | |||
1277 | file->private_data = configfs_new_dirent(parent_sd, NULL); | 1278 | file->private_data = configfs_new_dirent(parent_sd, NULL); |
1278 | mutex_unlock(&dentry->d_inode->i_mutex); | 1279 | mutex_unlock(&dentry->d_inode->i_mutex); |
1279 | 1280 | ||
1280 | return file->private_data ? 0 : -ENOMEM; | 1281 | return IS_ERR(file->private_data) ? PTR_ERR(file->private_data) : 0; |
1281 | 1282 | ||
1282 | } | 1283 | } |
1283 | 1284 | ||