diff --git a/fsdev/9p-marshal.h b/fsdev/9p-marshal.h
index 77f7fef326ee..c8823d878f98 100644
--- a/fsdev/9p-marshal.h
+++ b/fsdev/9p-marshal.h
@@ -76,8 +76,8 @@ static inline void v9fs_string_init(V9fsString *str)
     str->data = NULL;
     str->size = 0;
 }
-extern void v9fs_string_free(V9fsString *str);
-extern void v9fs_string_sprintf(V9fsString *str, const char *fmt, ...);
-extern void v9fs_string_copy(V9fsString *lhs, V9fsString *rhs);
+void v9fs_string_free(V9fsString *str);
+void v9fs_string_sprintf(V9fsString *str, const char *fmt, ...);
+void v9fs_string_copy(V9fsString *lhs, V9fsString *rhs);
 
 #endif
diff --git a/hw/9pfs/9p-synth.h b/hw/9pfs/9p-synth.h
index 6bcb44ace230..49c2fc7b274e 100644
--- a/hw/9pfs/9p-synth.h
+++ b/hw/9pfs/9p-synth.h
@@ -43,10 +43,10 @@ typedef struct V9fsSynthOpenState {
     struct dirent dent;
 } V9fsSynthOpenState;
 
-extern int qemu_v9fs_synth_mkdir(V9fsSynthNode *parent, int mode,
-                                 const char *name, V9fsSynthNode **result);
-extern int qemu_v9fs_synth_add_file(V9fsSynthNode *parent, int mode,
-                                    const char *name, v9fs_synth_read read,
-                                    v9fs_synth_write write, void *arg);
+int qemu_v9fs_synth_mkdir(V9fsSynthNode *parent, int mode,
+                          const char *name, V9fsSynthNode **result);
+int qemu_v9fs_synth_add_file(V9fsSynthNode *parent, int mode,
+                             const char *name, v9fs_synth_read read,
+                             v9fs_synth_write write, void *arg);
 
 #endif
diff --git a/hw/9pfs/9p.h b/hw/9pfs/9p.h
index d539d2ebe9c0..5225b4f12071 100644
--- a/hw/9pfs/9p.h
+++ b/hw/9pfs/9p.h
@@ -324,15 +324,15 @@ static inline uint8_t v9fs_request_cancelled(V9fsPDU *pdu)
     return pdu->cancelled;
 }
 
-extern void v9fs_reclaim_fd(V9fsPDU *pdu);
-extern void v9fs_path_init(V9fsPath *path);
-extern void v9fs_path_free(V9fsPath *path);
-extern void v9fs_path_sprintf(V9fsPath *path, const char *fmt, ...);
-extern void v9fs_path_copy(V9fsPath *lhs, V9fsPath *rhs);
-extern int v9fs_name_to_path(V9fsState *s, V9fsPath *dirpath,
-                             const char *name, V9fsPath *path);
-extern int v9fs_device_realize_common(V9fsState *s, Error **errp);
-extern void v9fs_device_unrealize_common(V9fsState *s, Error **errp);
+void v9fs_reclaim_fd(V9fsPDU *pdu);
+void v9fs_path_init(V9fsPath *path);
+void v9fs_path_free(V9fsPath *path);
+void v9fs_path_sprintf(V9fsPath *path, const char *fmt, ...);
+void v9fs_path_copy(V9fsPath *lhs, V9fsPath *rhs);
+int v9fs_name_to_path(V9fsState *s, V9fsPath *dirpath,
+                      const char *name, V9fsPath *path);
+int v9fs_device_realize_common(V9fsState *s, Error **errp);
+void v9fs_device_unrealize_common(V9fsState *s, Error **errp);
 
 ssize_t pdu_marshal(V9fsPDU *pdu, size_t offset, const char *fmt, ...);
 ssize_t pdu_unmarshal(V9fsPDU *pdu, size_t offset, const char *fmt, ...);
diff --git a/hw/9pfs/coth.h b/hw/9pfs/coth.h
index 3c7424e423d9..af6db5e84e34 100644
--- a/hw/9pfs/coth.h
+++ b/hw/9pfs/coth.h
@@ -47,52 +47,52 @@
         qemu_coroutine_yield();                                         \
     } while (0)
 
-extern void co_run_in_worker_bh(void *);
-extern int v9fs_co_readlink(V9fsPDU *, V9fsPath *, V9fsString *);
-extern int v9fs_co_readdir(V9fsPDU *, V9fsFidState *, struct dirent **);
-extern off_t v9fs_co_telldir(V9fsPDU *, V9fsFidState *);
-extern void v9fs_co_seekdir(V9fsPDU *, V9fsFidState *, off_t);
-extern void v9fs_co_rewinddir(V9fsPDU *, V9fsFidState *);
-extern int v9fs_co_statfs(V9fsPDU *, V9fsPath *, struct statfs *);
-extern int v9fs_co_lstat(V9fsPDU *, V9fsPath *, struct stat *);
-extern int v9fs_co_chmod(V9fsPDU *, V9fsPath *, mode_t);
-extern int v9fs_co_utimensat(V9fsPDU *, V9fsPath *, struct timespec [2]);
-extern int v9fs_co_chown(V9fsPDU *, V9fsPath *, uid_t, gid_t);
-extern int v9fs_co_truncate(V9fsPDU *, V9fsPath *, off_t);
-extern int v9fs_co_llistxattr(V9fsPDU *, V9fsPath *, void *, size_t);
-extern int v9fs_co_lgetxattr(V9fsPDU *, V9fsPath *,
-                             V9fsString *, void *, size_t);
-extern int v9fs_co_mknod(V9fsPDU *, V9fsFidState *, V9fsString *, uid_t,
-                         gid_t, dev_t, mode_t, struct stat *);
-extern int v9fs_co_mkdir(V9fsPDU *, V9fsFidState *, V9fsString *,
-                         mode_t, uid_t, gid_t, struct stat *);
-extern int v9fs_co_remove(V9fsPDU *, V9fsPath *);
-extern int v9fs_co_rename(V9fsPDU *, V9fsPath *, V9fsPath *);
-extern int v9fs_co_unlinkat(V9fsPDU *, V9fsPath *, V9fsString *, int flags);
-extern int v9fs_co_renameat(V9fsPDU *, V9fsPath *, V9fsString *,
-                            V9fsPath *, V9fsString *);
-extern int v9fs_co_fstat(V9fsPDU *, V9fsFidState *, struct stat *);
-extern int v9fs_co_opendir(V9fsPDU *, V9fsFidState *);
-extern int v9fs_co_open(V9fsPDU *, V9fsFidState *, int);
-extern int v9fs_co_open2(V9fsPDU *, V9fsFidState *, V9fsString *,
-                         gid_t, int, int, struct stat *);
-extern int v9fs_co_lsetxattr(V9fsPDU *, V9fsPath *, V9fsString *,
-                             void *, size_t, int);
-extern int v9fs_co_lremovexattr(V9fsPDU *, V9fsPath *, V9fsString *);
-extern int v9fs_co_closedir(V9fsPDU *, V9fsFidOpenState *);
-extern int v9fs_co_close(V9fsPDU *, V9fsFidOpenState *);
-extern int v9fs_co_fsync(V9fsPDU *, V9fsFidState *, int);
-extern int v9fs_co_symlink(V9fsPDU *, V9fsFidState *, V9fsString *,
-                           const char *, gid_t, struct stat *);
-extern int v9fs_co_link(V9fsPDU *, V9fsFidState *,
-                        V9fsFidState *, V9fsString *);
-extern int v9fs_co_pwritev(V9fsPDU *, V9fsFidState *,
-                           struct iovec *, int, int64_t);
-extern int v9fs_co_preadv(V9fsPDU *, V9fsFidState *,
-                          struct iovec *, int, int64_t);
-extern int v9fs_co_name_to_path(V9fsPDU *, V9fsPath *,
-                                const char *, V9fsPath *);
-extern int v9fs_co_st_gen(V9fsPDU *pdu, V9fsPath *path, mode_t,
-                          V9fsStatDotl *v9stat);
+void co_run_in_worker_bh(void *);
+int v9fs_co_readlink(V9fsPDU *, V9fsPath *, V9fsString *);
+int v9fs_co_readdir(V9fsPDU *, V9fsFidState *, struct dirent **);
+off_t v9fs_co_telldir(V9fsPDU *, V9fsFidState *);
+void v9fs_co_seekdir(V9fsPDU *, V9fsFidState *, off_t);
+void v9fs_co_rewinddir(V9fsPDU *, V9fsFidState *);
+int v9fs_co_statfs(V9fsPDU *, V9fsPath *, struct statfs *);
+int v9fs_co_lstat(V9fsPDU *, V9fsPath *, struct stat *);
+int v9fs_co_chmod(V9fsPDU *, V9fsPath *, mode_t);
+int v9fs_co_utimensat(V9fsPDU *, V9fsPath *, struct timespec [2]);
+int v9fs_co_chown(V9fsPDU *, V9fsPath *, uid_t, gid_t);
+int v9fs_co_truncate(V9fsPDU *, V9fsPath *, off_t);
+int v9fs_co_llistxattr(V9fsPDU *, V9fsPath *, void *, size_t);
+int v9fs_co_lgetxattr(V9fsPDU *, V9fsPath *,
+                      V9fsString *, void *, size_t);
+int v9fs_co_mknod(V9fsPDU *, V9fsFidState *, V9fsString *, uid_t,
+                  gid_t, dev_t, mode_t, struct stat *);
+int v9fs_co_mkdir(V9fsPDU *, V9fsFidState *, V9fsString *,
+                  mode_t, uid_t, gid_t, struct stat *);
+int v9fs_co_remove(V9fsPDU *, V9fsPath *);
+int v9fs_co_rename(V9fsPDU *, V9fsPath *, V9fsPath *);
+int v9fs_co_unlinkat(V9fsPDU *, V9fsPath *, V9fsString *, int flags);
+int v9fs_co_renameat(V9fsPDU *, V9fsPath *, V9fsString *,
+                     V9fsPath *, V9fsString *);
+int v9fs_co_fstat(V9fsPDU *, V9fsFidState *, struct stat *);
+int v9fs_co_opendir(V9fsPDU *, V9fsFidState *);
+int v9fs_co_open(V9fsPDU *, V9fsFidState *, int);
+int v9fs_co_open2(V9fsPDU *, V9fsFidState *, V9fsString *,
+                  gid_t, int, int, struct stat *);
+int v9fs_co_lsetxattr(V9fsPDU *, V9fsPath *, V9fsString *,
+                      void *, size_t, int);
+int v9fs_co_lremovexattr(V9fsPDU *, V9fsPath *, V9fsString *);
+int v9fs_co_closedir(V9fsPDU *, V9fsFidOpenState *);
+int v9fs_co_close(V9fsPDU *, V9fsFidOpenState *);
+int v9fs_co_fsync(V9fsPDU *, V9fsFidState *, int);
+int v9fs_co_symlink(V9fsPDU *, V9fsFidState *, V9fsString *,
+                    const char *, gid_t, struct stat *);
+int v9fs_co_link(V9fsPDU *, V9fsFidState *,
+                 V9fsFidState *, V9fsString *);
+int v9fs_co_pwritev(V9fsPDU *, V9fsFidState *,
+                    struct iovec *, int, int64_t);
+int v9fs_co_preadv(V9fsPDU *, V9fsFidState *,
+                   struct iovec *, int, int64_t);
+int v9fs_co_name_to_path(V9fsPDU *, V9fsPath *,
+                         const char *, V9fsPath *);
+int v9fs_co_st_gen(V9fsPDU *pdu, V9fsPath *path, mode_t,
+                   V9fsStatDotl *v9stat);
 
 #endif
diff --git a/hw/9pfs/virtio-9p.h b/hw/9pfs/virtio-9p.h
index 7586b792d61e..25c47c7cb6d6 100644
--- a/hw/9pfs/virtio-9p.h
+++ b/hw/9pfs/virtio-9p.h
@@ -15,7 +15,7 @@ typedef struct V9fsVirtioState
     V9fsState state;
 } V9fsVirtioState;
 
-extern void virtio_9p_push_and_notify(V9fsPDU *pdu);
+void virtio_9p_push_and_notify(V9fsPDU *pdu);
 
 ssize_t virtio_pdu_vmarshal(V9fsPDU *pdu, size_t offset,
                             const char *fmt, va_list ap);
