2007-12-16 02:05:14

by Marcin Ślusarz

[permalink] [raw]
Subject: [PATCH 1/6] udf: remove wrong prototype of udf_readdir

sparse generated:
fs/udf/dir.c:78:5: warning: symbol 'udf_readdir' was not declared. Should it be static?
there are 2 different prototypes of udf_readdir - remove them and move
code around to make it still compile

Signed-off-by: Marcin Slusarz <[email protected]>
CC: Ben Fennema <[email protected]>
---
fs/udf/dir.c | 118 +++++++++++++++++++++++++++------------------------------
1 files changed, 56 insertions(+), 62 deletions(-)

diff --git a/fs/udf/dir.c b/fs/udf/dir.c
index 9e3b9f9..174d2fc 100644
--- a/fs/udf/dir.c
+++ b/fs/udf/dir.c
@@ -36,68 +36,8 @@
#include "udf_i.h"
#include "udf_sb.h"

-/* Prototypes for file operations */
-static int udf_readdir(struct file *, void *, filldir_t);
-static int do_udf_readdir(struct inode *, struct file *, filldir_t, void *);
-
-/* readdir and lookup functions */
-
-const struct file_operations udf_dir_operations = {
- .read = generic_read_dir,
- .readdir = udf_readdir,
- .ioctl = udf_ioctl,
- .fsync = udf_fsync_file,
-};
-
-/*
- * udf_readdir
- *
- * PURPOSE
- * Read a directory entry.
- *
- * DESCRIPTION
- * Optional - sys_getdents() will return -ENOTDIR if this routine is not
- * available.
- *
- * Refer to sys_getdents() in fs/readdir.c
- * sys_getdents() -> .
- *
- * PRE-CONDITIONS
- * filp Pointer to directory file.
- * buf Pointer to directory entry buffer.
- * filldir Pointer to filldir function.
- *
- * POST-CONDITIONS
- * <return> >=0 on success.
- *
- * HISTORY
- * July 1, 1997 - Andrew E. Mileski
- * Written, tested, and released.
- */
-
-int udf_readdir(struct file *filp, void *dirent, filldir_t filldir)
-{
- struct inode *dir = filp->f_path.dentry->d_inode;
- int result;
-
- lock_kernel();
-
- if (filp->f_pos == 0) {
- if (filldir(dirent, ".", 1, filp->f_pos, dir->i_ino, DT_DIR) < 0) {
- unlock_kernel();
- return 0;
- }
- filp->f_pos++;
- }
-
- result = do_udf_readdir(dir, filp, filldir, dirent);
- unlock_kernel();
- return result;
-}
-
-static int
-do_udf_readdir(struct inode *dir, struct file *filp, filldir_t filldir,
- void *dirent)
+static int do_udf_readdir(struct inode *dir, struct file *filp,
+ filldir_t filldir, void *dirent)
{
struct udf_fileident_bh fibh;
struct fileIdentDesc *fi = NULL;
@@ -244,3 +184,57 @@ do_udf_readdir(struct inode *dir, struct file *filp, filldir_t filldir,

return 0;
}
+
+/*
+ * udf_readdir
+ *
+ * PURPOSE
+ * Read a directory entry.
+ *
+ * DESCRIPTION
+ * Optional - sys_getdents() will return -ENOTDIR if this routine is not
+ * available.
+ *
+ * Refer to sys_getdents() in fs/readdir.c
+ * sys_getdents() -> .
+ *
+ * PRE-CONDITIONS
+ * filp Pointer to directory file.
+ * buf Pointer to directory entry buffer.
+ * filldir Pointer to filldir function.
+ *
+ * POST-CONDITIONS
+ * <return> >=0 on success.
+ *
+ * HISTORY
+ * July 1, 1997 - Andrew E. Mileski
+ * Written, tested, and released.
+ */
+
+static int udf_readdir(struct file *filp, void *dirent, filldir_t filldir)
+{
+ struct inode *dir = filp->f_path.dentry->d_inode;
+ int result;
+
+ lock_kernel();
+
+ if (filp->f_pos == 0) {
+ if (filldir(dirent, ".", 1, filp->f_pos, dir->i_ino, DT_DIR) < 0) {
+ unlock_kernel();
+ return 0;
+ }
+ filp->f_pos++;
+ }
+
+ result = do_udf_readdir(dir, filp, filldir, dirent);
+ unlock_kernel();
+ return result;
+}
+
+/* readdir and lookup functions */
+const struct file_operations udf_dir_operations = {
+ .read = generic_read_dir,
+ .readdir = udf_readdir,
+ .ioctl = udf_ioctl,
+ .fsync = udf_fsync_file,
+};
--
1.5.3.4


2007-12-17 16:04:54

by Jan Kara

[permalink] [raw]
Subject: Re: [PATCH 1/6] udf: remove wrong prototype of udf_readdir

> sparse generated:
> fs/udf/dir.c:78:5: warning: symbol 'udf_readdir' was not declared. Should it be static?
> there are 2 different prototypes of udf_readdir - remove them and move
> code around to make it still compile
> Signed-off-by: Marcin Slusarz <[email protected]>
Acked-by: Jan Kara <[email protected]>

> CC: Ben Fennema <[email protected]>
> ---
> fs/udf/dir.c | 118 +++++++++++++++++++++++++++------------------------------
> 1 files changed, 56 insertions(+), 62 deletions(-)
>
> diff --git a/fs/udf/dir.c b/fs/udf/dir.c
> index 9e3b9f9..174d2fc 100644
> --- a/fs/udf/dir.c
> +++ b/fs/udf/dir.c
> @@ -36,68 +36,8 @@
> #include "udf_i.h"
> #include "udf_sb.h"
>
> -/* Prototypes for file operations */
> -static int udf_readdir(struct file *, void *, filldir_t);
> -static int do_udf_readdir(struct inode *, struct file *, filldir_t, void *);
> -
> -/* readdir and lookup functions */
> -
> -const struct file_operations udf_dir_operations = {
> - .read = generic_read_dir,
> - .readdir = udf_readdir,
> - .ioctl = udf_ioctl,
> - .fsync = udf_fsync_file,
> -};
> -
> -/*
> - * udf_readdir
> - *
> - * PURPOSE
> - * Read a directory entry.
> - *
> - * DESCRIPTION
> - * Optional - sys_getdents() will return -ENOTDIR if this routine is not
> - * available.
> - *
> - * Refer to sys_getdents() in fs/readdir.c
> - * sys_getdents() -> .
> - *
> - * PRE-CONDITIONS
> - * filp Pointer to directory file.
> - * buf Pointer to directory entry buffer.
> - * filldir Pointer to filldir function.
> - *
> - * POST-CONDITIONS
> - * <return> >=0 on success.
> - *
> - * HISTORY
> - * July 1, 1997 - Andrew E. Mileski
> - * Written, tested, and released.
> - */
> -
> -int udf_readdir(struct file *filp, void *dirent, filldir_t filldir)
> -{
> - struct inode *dir = filp->f_path.dentry->d_inode;
> - int result;
> -
> - lock_kernel();
> -
> - if (filp->f_pos == 0) {
> - if (filldir(dirent, ".", 1, filp->f_pos, dir->i_ino, DT_DIR) < 0) {
> - unlock_kernel();
> - return 0;
> - }
> - filp->f_pos++;
> - }
> -
> - result = do_udf_readdir(dir, filp, filldir, dirent);
> - unlock_kernel();
> - return result;
> -}
> -
> -static int
> -do_udf_readdir(struct inode *dir, struct file *filp, filldir_t filldir,
> - void *dirent)
> +static int do_udf_readdir(struct inode *dir, struct file *filp,
> + filldir_t filldir, void *dirent)
> {
> struct udf_fileident_bh fibh;
> struct fileIdentDesc *fi = NULL;
> @@ -244,3 +184,57 @@ do_udf_readdir(struct inode *dir, struct file *filp, filldir_t filldir,
>
> return 0;
> }
> +
> +/*
> + * udf_readdir
> + *
> + * PURPOSE
> + * Read a directory entry.
> + *
> + * DESCRIPTION
> + * Optional - sys_getdents() will return -ENOTDIR if this routine is not
> + * available.
> + *
> + * Refer to sys_getdents() in fs/readdir.c
> + * sys_getdents() -> .
> + *
> + * PRE-CONDITIONS
> + * filp Pointer to directory file.
> + * buf Pointer to directory entry buffer.
> + * filldir Pointer to filldir function.
> + *
> + * POST-CONDITIONS
> + * <return> >=0 on success.
> + *
> + * HISTORY
> + * July 1, 1997 - Andrew E. Mileski
> + * Written, tested, and released.
> + */
> +
> +static int udf_readdir(struct file *filp, void *dirent, filldir_t filldir)
> +{
> + struct inode *dir = filp->f_path.dentry->d_inode;
> + int result;
> +
> + lock_kernel();
> +
> + if (filp->f_pos == 0) {
> + if (filldir(dirent, ".", 1, filp->f_pos, dir->i_ino, DT_DIR) < 0) {
> + unlock_kernel();
> + return 0;
> + }
> + filp->f_pos++;
> + }
> +
> + result = do_udf_readdir(dir, filp, filldir, dirent);
> + unlock_kernel();
> + return result;
> +}
> +
> +/* readdir and lookup functions */
> +const struct file_operations udf_dir_operations = {
> + .read = generic_read_dir,
> + .readdir = udf_readdir,
> + .ioctl = udf_ioctl,
> + .fsync = udf_fsync_file,
> +};
> --
> 1.5.3.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
--
Jan Kara <[email protected]>
SuSE CR Labs