summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Le Moal <damien.lemoal@wdc.com>2020-07-20 11:52:52 +0300
committerDamien Le Moal <damien.lemoal@wdc.com>2020-07-20 11:57:50 +0300
commit01b2651cfb20ba38429cdb47c68f36e56a2d3cb4 (patch)
tree90f0d7cf5d7c99404e1ee3730c01b02804da49e0
parent5714ee50bb4375bd586858ad800b1d9772847452 (diff)
downloadlinux-01b2651cfb20ba38429cdb47c68f36e56a2d3cb4.tar.xz
zonefs: Fix compilation warning
Avoid the compilation warning "Variable 'ret' is reassigned a value before the old one has been used." in zonefs_create_zgroup() by setting ret for the error path only if an error happens. Reported-by: kernel test robot <lkp@intel.com> Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
-rw-r--r--fs/zonefs/super.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/fs/zonefs/super.c b/fs/zonefs/super.c
index 07bc42d62673..e419833107b2 100644
--- a/fs/zonefs/super.c
+++ b/fs/zonefs/super.c
@@ -1119,7 +1119,7 @@ static int zonefs_create_zgroup(struct zonefs_zone_data *zd,
char *file_name;
struct dentry *dir;
unsigned int n = 0;
- int ret = -ENOMEM;
+ int ret;
/* If the group is empty, there is nothing to do */
if (!zd->nr_zones[type])
@@ -1135,8 +1135,10 @@ static int zonefs_create_zgroup(struct zonefs_zone_data *zd,
zgroup_name = "seq";
dir = zonefs_create_inode(sb->s_root, zgroup_name, NULL, type);
- if (!dir)
+ if (!dir) {
+ ret = -ENOMEM;
goto free;
+ }
/*
* The first zone contains the super block: skip it.
@@ -1174,8 +1176,10 @@ static int zonefs_create_zgroup(struct zonefs_zone_data *zd,
* Use the file number within its group as file name.
*/
snprintf(file_name, ZONEFS_NAME_MAX - 1, "%u", n);
- if (!zonefs_create_inode(dir, file_name, zone, type))
+ if (!zonefs_create_inode(dir, file_name, zone, type)) {
+ ret = -ENOMEM;
goto free;
+ }
n++;
}