patch "staging: exfat: fix multiple definition error of `rename_file'" added to staging-linus
Subsystems (2)
This is a note to let you know that I've just added the patch titled
staging: exfat: fix multiple definition error of `rename_file'
to my staging git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
in the staging-linus branch.
The patch will show up in the next release of the linux-next tree (usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the next -rc kernel release.
If you have any questions about this process, please let me know.
From 1af73a25e6e7d9f2f1e2a14259cc9ffce6d8f6d4 Mon Sep 17 00:00:00 2001
From: Brendan Higgins <[email protected]>
Date: Wed, 4 Dec 2019 15:45:22 -0800
Subject: staging: exfat: fix multiple definition error of `rename_file'
rename_file' was exported but not properly namespaced causing a multiple definition error because rename_file' is already defined in fs/hostfs/hostfs_user.c:
ld: drivers/staging/exfat/exfat_core.o: in function `rename_file':drivers/staging/exfat/exfat_core.c:2327: multiple definition of `rename_file'; fs/hostfs/hostfs_user.o:fs/hostfs/hostfs_user.c:350:
first defined here
make: *** [Makefile:1077: vmlinux] Error 1
This error can be reproduced on ARCH=um by selecting:
CONFIG_EXFAT_FS=yCONFIG_HOSTFS=y
Add a namespace prefix exfat_* to fix this error.
--- drivers/staging/exfat/exfat.h | 4 ++-- drivers/staging/exfat/exfat_core.c | 4 ++-- drivers/staging/exfat/exfat_super.c | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-)
drivers/staging/exfat/exfat.h +2 -2
@@ -805,8 +805,8 @@ s32 create_dir(struct inode *inode, struct chain_t *p_dir,s32 create_file (struct inode *inode,struct chain_t *p_dir,struct uni_name_t *p_uniname,u8 mode,struct file_id_t *fid);void remove_file (struct inode *inode,struct chain_t *p_dir,s32 entry); -s32 rename_file (struct inode *inode,struct chain_t *p_dir,s32 old_entry, -struct uni_name_t *p_uniname,struct file_id_t *fid); +s32 exfat_rename_file (struct inode *inode,struct chain_t *p_dir,s32 old_entry, +struct uni_name_t *p_uniname,struct file_id_t *fid);s32 move_file (struct inode *inode,struct chain_t *p_olddir,s32 oldentry,struct chain_t *p_newdir,struct uni_name_t *p_uniname,struct file_id_t *fid);
drivers/staging/exfat/exfat_core.c +2 -2
@@ -2324,8 +2324,8 @@ void remove_file(struct inode *inode, struct chain_t *p_dir, s32 entry) fs_func->delete_dir_entry (sb, p_dir, entry,0 , num_entries); } -s32 rename_file (struct inode *inode,struct chain_t *p_dir,s32 oldentry, -struct uni_name_t *p_uniname,struct file_id_t *fid) +s32 exfat_rename_file (struct inode *inode,struct chain_t *p_dir,s32 oldentry, +struct uni_name_t *p_uniname,struct file_id_t *fid) {s32 ret, newentry =-1 , num_old_entries, num_new_entries;sector_t sector_old, sector_new;
drivers/staging/exfat/exfat_super.c +2 -2
@@ -1262,8 +1262,8 @@ static int ffsMoveFile(struct inode *old_parent_inode, struct file_id_t *fid,fs_set_vol_flags (sb,VOL_DIRTY );if (olddir.dir == newdir.dir) - ret =rename_file (new_parent_inode, &olddir, dentry, &uni_name, - fid); + ret =exfat_rename_file (new_parent_inode, &olddir, dentry, + &uni_name, fid);else ret =move_file (new_parent_inode, &olddir, dentry, &newdir, &uni_name, fid);
Signature · 1 line
2.24.0