aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2022-01-04 14:43:02 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2022-01-08 03:41:44 +0000
commit65990b68a2cd89a08f0350e187df1968b16f4255 (patch)
tree2a7c3f8ddc0a23c911aa91a697c67f1a83c61bf9
parentaec97963cd03f10e04083537ed449a84a5e42f87 (diff)
downloadsrc-65990b68a2cd89a08f0350e187df1968b16f4255.tar.gz
src-65990b68a2cd89a08f0350e187df1968b16f4255.zip
msdosfs: clusterfree() is used only in error handling cases
Change its return type to void, because its result is ignored in both call sites. Remove oldcnp argument as well, it is NULL always. Suggested and reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D33721
-rw-r--r--sys/fs/msdosfs/fat.h2
-rw-r--r--sys/fs/msdosfs/msdosfs_fat.c13
-rw-r--r--sys/fs/msdosfs/msdosfs_vnops.c2
-rw-r--r--usr.sbin/makefs/msdos/msdosfs_fat.c13
-rw-r--r--usr.sbin/makefs/msdos/msdosfs_vnops.c2
5 files changed, 13 insertions, 19 deletions
diff --git a/sys/fs/msdosfs/fat.h b/sys/fs/msdosfs/fat.h
index bb0f128eaa87..b28a9bed1356 100644
--- a/sys/fs/msdosfs/fat.h
+++ b/sys/fs/msdosfs/fat.h
@@ -97,7 +97,7 @@
#define DE_CLEAR 1 /* Zero out the blocks allocated */
int pcbmap(struct denode *dep, u_long findcn, daddr_t *bnp, u_long *cnp, int* sp);
-int clusterfree(struct msdosfsmount *pmp, u_long cn, u_long *oldcnp);
+void clusterfree(struct msdosfsmount *pmp, u_long cn);
int clusteralloc(struct msdosfsmount *pmp, u_long start, u_long count, u_long fillwith, u_long *retcluster, u_long *got);
int fatentry(int function, struct msdosfsmount *pmp, u_long cluster, u_long *oldcontents, u_long newcontents);
int freeclusterchain(struct msdosfsmount *pmp, u_long startchain);
diff --git a/sys/fs/msdosfs/msdosfs_fat.c b/sys/fs/msdosfs/msdosfs_fat.c
index 202feeef0102..fc1db705989b 100644
--- a/sys/fs/msdosfs/msdosfs_fat.c
+++ b/sys/fs/msdosfs/msdosfs_fat.c
@@ -420,15 +420,15 @@ usemap_free(struct msdosfsmount *pmp, u_long cn)
return (0);
}
-int
-clusterfree(struct msdosfsmount *pmp, u_long cluster, u_long *oldcnp)
+void
+clusterfree(struct msdosfsmount *pmp, u_long cluster)
{
int error;
u_long oldcn;
error = fatentry(FAT_GET_AND_SET, pmp, cluster, &oldcn, MSDOSFSFREE);
- if (error)
- return (error);
+ if (error != 0)
+ return;
/*
* If the cluster was successfully marked free, then update
* the count of free clusters, and turn off the "allocated"
@@ -437,9 +437,6 @@ clusterfree(struct msdosfsmount *pmp, u_long cluster, u_long *oldcnp)
MSDOSFS_LOCK_MP(pmp);
error = usemap_free(pmp, cluster);
MSDOSFS_UNLOCK_MP(pmp);
- if (error == 0 && oldcnp != NULL)
- *oldcnp = oldcn;
- return (error);
}
/*
@@ -1056,7 +1053,7 @@ extendfile(struct denode *dep, u_long count, struct buf **bpp, u_long *ncp,
dep->de_fc[FC_LASTFC].fc_fsrcn,
0, cn);
if (error) {
- clusterfree(pmp, cn, NULL);
+ clusterfree(pmp, cn);
return (error);
}
frcn = dep->de_fc[FC_LASTFC].fc_frcn + 1;
diff --git a/sys/fs/msdosfs/msdosfs_vnops.c b/sys/fs/msdosfs/msdosfs_vnops.c
index c071d9f44d86..36da35257d2c 100644
--- a/sys/fs/msdosfs/msdosfs_vnops.c
+++ b/sys/fs/msdosfs/msdosfs_vnops.c
@@ -1433,7 +1433,7 @@ msdosfs_mkdir(struct vop_mkdir_args *ap)
return (0);
bad:
- clusterfree(pmp, newcluster, NULL);
+ clusterfree(pmp, newcluster);
bad2:
return (error);
}
diff --git a/usr.sbin/makefs/msdos/msdosfs_fat.c b/usr.sbin/makefs/msdos/msdosfs_fat.c
index b5700d8c7d1d..0081e2d2d38c 100644
--- a/usr.sbin/makefs/msdos/msdosfs_fat.c
+++ b/usr.sbin/makefs/msdos/msdosfs_fat.c
@@ -408,24 +408,21 @@ usemap_free(struct msdosfsmount *pmp, u_long cn)
pmp->pm_inusemap[cn / N_INUSEBITS] &= ~(1U << (cn % N_INUSEBITS));
}
-int
-clusterfree(struct msdosfsmount *pmp, u_long cluster, u_long *oldcnp)
+void
+clusterfree(struct msdosfsmount *pmp, u_long cluster)
{
int error;
u_long oldcn;
error = fatentry(FAT_GET_AND_SET, pmp, cluster, &oldcn, MSDOSFSFREE);
- if (error)
- return (error);
+ if (error != 0)
+ return;
/*
* If the cluster was successfully marked free, then update
* the count of free clusters, and turn off the "allocated"
* bit in the "in use" cluster bit map.
*/
usemap_free(pmp, cluster);
- if (oldcnp)
- *oldcnp = oldcn;
- return (0);
}
/*
@@ -1024,7 +1021,7 @@ m_extendfile(struct denode *dep, u_long count, struct m_buf **bpp, u_long *ncp,
dep->de_fc[FC_LASTFC].fc_fsrcn,
0, cn);
if (error) {
- clusterfree(pmp, cn, NULL);
+ clusterfree(pmp, cn);
return (error);
}
frcn = dep->de_fc[FC_LASTFC].fc_frcn + 1;
diff --git a/usr.sbin/makefs/msdos/msdosfs_vnops.c b/usr.sbin/makefs/msdos/msdosfs_vnops.c
index 7e927b4b99c7..ed33856716f1 100644
--- a/usr.sbin/makefs/msdos/msdosfs_vnops.c
+++ b/usr.sbin/makefs/msdos/msdosfs_vnops.c
@@ -636,7 +636,7 @@ msdosfs_mkdire(const char *path, struct denode *pdep, fsnode *node) {
return dep;
bad:
- clusterfree(pmp, newcluster, NULL);
+ clusterfree(pmp, newcluster);
bad2:
errno = error;
return NULL;