Re: [PATCH 00/27] xfs: current patch queue for 3.11

Brian Foster
2013-06-12T13:02:54Z

On 06/12/2013 06:22 AM, Dave Chinner wrote:
> Hi folks,
>
> This is an update of my current patch queue for the 3.11 release
> cycle. This series starts on top of the patch series I posted for
> 3.10-rc6, and builds upon the series previously posted last week:
>
> http://oss.sgi.com/pipermail/xfs/2013-June/027040.html
>

Just a heads up, I applied this to tot and hit a few minor build errors:

fs/xfs/xfs_dir2_readdir.c:40:1: error: static declaration of
‘xfs_dir2_sf_getdents’ follows non-static declaration
In file included from fs/xfs/xfs_dir2_readdir.c:34:0:
fs/xfs/xfs_dir2_priv.h:127:12: note: previous declaration of
‘xfs_dir2_sf_getdents’ was here
fs/xfs/xfs_dir2_readdir.c:143:1: error: static declaration of
‘xfs_dir2_block_getdents’ follows non-static declaration
In file included from fs/xfs/xfs_dir2_readdir.c:34:0:
fs/xfs/xfs_dir2_priv.h:32:12: note: previous declaration of
‘xfs_dir2_block_getdents’ was here
fs/xfs/xfs_dir2_readdir.c:455:1: error: static declaration of
‘xfs_dir2_leaf_getdents’ follows non-static declaration
In file included from fs/xfs/xfs_dir2_readdir.c:34:0:
fs/xfs/xfs_dir2_priv.h:68:12: note: previous declaration of
‘xfs_dir2_leaf_getdents’ was here

In each case, it looks like patch 14/27 (xfs: move getdents code into
it's own file) moved the associated function and added a STATIC to the
function definition. Given the title of the patch, I removed the
STATIC's and moved on to this one:

fs/xfs/xfs_dir2_data.c:39:1: error: static declaration of
‘xfs_dir2_data_freefind’ follows non-static declaration
In file included from fs/xfs/xfs_dir2_data.c:31:0:
fs/xfs/xfs_dir2.h:125:35: note: previous declaration of
‘xfs_dir2_data_freefind’ was here

That one appears to be due to 15/27 (xfs: reshuffle dir2 definitions
around for userspace) adding a header declaration to a static function.

diff appended for reference.

Brian

--- 8< ---

diff --git a/fs/xfs/xfs_dir2.h b/fs/xfs/xfs_dir2.h
index 804238d..3bef13a 100644
--- a/fs/xfs/xfs_dir2.h
+++ b/fs/xfs/xfs_dir2.h
@@ -122,9 +122,6 @@ extern void xfs_dir2_data_use_free(struct xfs_trans
*tp, struct xfs_buf *bp,
struct xfs_dir2_data_unused *dup, xfs_dir2_data_aoff_t offset,
xfs_dir2_data_aoff_t len, int *needlogp, int *needscanp);

-extern struct xfs_dir2_data_free *xfs_dir2_data_freefind(
- struct xfs_dir2_data_hdr *hdr, struct xfs_dir2_data_unused *dup);
-
extern const struct xfs_buf_ops xfs_dir3_block_buf_ops;
extern const struct xfs_buf_ops xfs_dir3_leafn_buf_ops;
extern const struct xfs_buf_ops xfs_dir3_leaf1_buf_ops;
diff --git a/fs/xfs/xfs_dir2_readdir.c b/fs/xfs/xfs_dir2_readdir.c
index dcf17cf..ed86deb 100644
--- a/fs/xfs/xfs_dir2_readdir.c
+++ b/fs/xfs/xfs_dir2_readdir.c
@@ -36,7 +36,7 @@
#include "xfs_trace.h"
#include "xfs_bmap.h"

-STATIC int
+int
xfs_dir2_sf_getdents(
xfs_inode_t *dp, /* incore directory inode */
void *dirent,
@@ -139,7 +139,7 @@ xfs_dir2_sf_getdents(
/*
* Readdir for block directories.
*/
-STATIC int
+int
xfs_dir2_block_getdents(
xfs_inode_t *dp, /* incore inode */
void *dirent,
@@ -451,7 +451,7 @@ out:
* Getdents (readdir) for leaf and node directories.
* This reads the data blocks only, so is the same for both forms.
*/
-STATIC int
+int
xfs_dir2_leaf_getdents(
xfs_inode_t *dp, /* incore directory inode */
void *dirent,