2007-05-15 17:34:21

by Martin Michlmayr

[permalink] [raw]
Subject: Fix section conflict of ext4_ext_{find_goal,invalidate_cache}

Building with GCC 4.2, I get the following error:

CC [M] fs/ext4/extents.o
fs/ext4/extents.c:2166: error: __ksymtab_ext4_ext_find_goal causes a section type conflict
fs/ext4/extents.c:2163: error: __ksymtab_ext4_ext_invalidate_cache causes a section type conflict

This is because ext4_ext_find_goal and ext4_ext_invalidate_cache are
declared static but also exported.

Signed-off-by: Martin Michlmayr <[email protected]>

--- a/fs/ext4/extents.c
+++ b/fs/ext4/extents.c
@@ -172,7 +172,7 @@ static int ext4_ext_dirty(handle_t *handle, struct inode *inode,
return err;
}

-static ext4_fsblk_t ext4_ext_find_goal(struct inode *inode,
+ext4_fsblk_t ext4_ext_find_goal(struct inode *inode,
struct ext4_ext_path *path,
ext4_fsblk_t block)
{
--- a/include/linux/ext4_fs_extents.h
+++ b/include/linux/ext4_fs_extents.h
@@ -182,7 +182,7 @@ static inline void ext4_ext_tree_changed(struct inode *inode)
EXT4_I(inode)->i_ext_generation++;
}

-static inline void
+inline void
ext4_ext_invalidate_cache(struct inode *inode)
{
EXT4_I(inode)->i_cached_extent.ec_type = EXT4_EXT_CACHE_NO;

--
Martin Michlmayr
http://www.cyrius.com/


2007-05-15 18:09:14

by Badari Pulavarty

[permalink] [raw]
Subject: Re: Fix section conflict of ext4_ext_{find_goal,invalidate_cache}

On Tue, 2007-05-15 at 19:15 +0200, Martin Michlmayr wrote:
> Building with GCC 4.2, I get the following error:
>
> CC [M] fs/ext4/extents.o
> fs/ext4/extents.c:2166: error: __ksymtab_ext4_ext_find_goal causes a section type conflict
> fs/ext4/extents.c:2163: error: __ksymtab_ext4_ext_invalidate_cache causes a section type conflict
>
> This is because ext4_ext_find_goal and ext4_ext_invalidate_cache are
> declared static but also exported.

Hmm.. Why are these exported ?

Looking at the code


EXPORT_SYMBOL(ext4_ext_invalidate_cache);
EXPORT_SYMBOL(ext4_ext_insert_extent);
EXPORT_SYMBOL(ext4_ext_walk_space);
EXPORT_SYMBOL(ext4_ext_find_goal);
EXPORT_SYMBOL(ext4_ext_calc_credits_for_insert);

Mingming ? Why are we exporting these ?

Thanks,
Badari

2007-05-15 18:59:28

by Mingming Cao

[permalink] [raw]
Subject: Re: Fix section conflict of ext4_ext_{find_goal,invalidate_cache}

On Tue, 2007-05-15 at 11:09 -0700, Badari Pulavarty wrote:
> On Tue, 2007-05-15 at 19:15 +0200, Martin Michlmayr wrote:
> > Building with GCC 4.2, I get the following error:
> >
> > CC [M] fs/ext4/extents.o
> > fs/ext4/extents.c:2166: error: __ksymtab_ext4_ext_find_goal causes a section type conflict
> > fs/ext4/extents.c:2163: error: __ksymtab_ext4_ext_invalidate_cache causes a section type conflict
> >
> > This is because ext4_ext_find_goal and ext4_ext_invalidate_cache are
> > declared static but also exported.
>
> Hmm.. Why are these exported ?
> Looking at the code
>
>
> EXPORT_SYMBOL(ext4_ext_invalidate_cache);
> EXPORT_SYMBOL(ext4_ext_insert_extent);
> EXPORT_SYMBOL(ext4_ext_walk_space);
> EXPORT_SYMBOL(ext4_ext_find_goal);
> EXPORT_SYMBOL(ext4_ext_calc_credits_for_insert);
>

there is one more

EXPORT_SYMBOL(ext4_mark_inode_dirty);

And with fallocate() patch,
EXPORT_SYMBOL(ext4_fallocate);

> Mingming ? Why are we exporting these ?
>

Don't know. They should all used by ext4 only. Alex, can we remove these
exported symbols?


Mingming

2007-05-15 19:08:35

by Alex Tomas

[permalink] [raw]
Subject: Re: Fix section conflict of ext4_ext_{find_goal,invalidate_cache}

Mingming Cao wrote:
> Don't know. They should all used by ext4 only. Alex, can we remove these
> exported symbols?

yes, I think so.

thanks, Alex

2007-05-15 19:08:46

by Alex Tomas

[permalink] [raw]
Subject: Re: Fix section conflict of ext4_ext_{find_goal,invalidate_cache}

Mingming Cao wrote:
> Don't know. They should all used by ext4 only. Alex, can we remove these
> exported symbols?

yes, I think so.

thanks, Alex

2007-05-15 20:43:36

by Mingming Cao

[permalink] [raw]
Subject: [PATCH] Remove unnecessery exported ext4 symbols

These symbols are used in ext4 only.

Acked-By: Ales Tomas <[email protected]>
Signed-Off-By: Mingming Cao <[email protected]>

Index: linux-2.6.21.1/fs/ext4/extents.c
===================================================================
--- linux-2.6.21.1.orig/fs/ext4/extents.c 2007-05-15 11:52:45.000000000 -0700
+++ linux-2.6.21.1/fs/ext4/extents.c 2007-05-15 11:59:13.000000000 -0700
@@ -2550,12 +2550,3 @@

return num;
}
-
-EXPORT_SYMBOL(ext4_mark_inode_dirty);
-EXPORT_SYMBOL(ext4_ext_invalidate_cache);
-EXPORT_SYMBOL(ext4_ext_insert_extent);
-EXPORT_SYMBOL(ext4_ext_walk_space);
-EXPORT_SYMBOL(ext4_ext_find_goal);
-EXPORT_SYMBOL(ext4_ext_calc_credits_for_insert);
-EXPORT_SYMBOL(ext4_fallocate);
-