diff mbox series

Message ID 1438582739-2626-1-git-send-email-shraddha.6596@gmail.com
State New, archived
Headers show
Series
  • Untitled series #244331
Related show

Commit Message

Shraddha Barke Aug. 3, 2015, 6:18 a.m. UTC
>From b67c6c20455b04b77447ab4561e44f1a75dd978d Mon Sep 17 00:00:00 2001
From: Shraddha Barke <shraddha.6596@gmail.com>
Date: Mon, 3 Aug 2015 11:34:19 +0530
Subject: [PATCH] Staging : lustre : Use -EINVAL instead of -ENOSYS

ENOSYS means that a nonexistent system call was called. This should
not be used for invalid operations on otherwise valid syscalls.

Use -EINVAL instead of -ENOSYS. This fixes checkpatch warning message:

WARNING: ENOSYS means 'invalid syscall nr' and nothing else

Signed-off-by: Shraddha Barke <shraddha.6596@gmail.com>
---
 drivers/staging/lustre/lustre/llite/file.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Drokin, Oleg Aug. 3, 2015, 6:41 a.m. UTC | #1
subject have been missing, so I filled in something.

On Aug 3, 2015, at 2:18 AM, Shraddha Barke wrote:

> From b67c6c20455b04b77447ab4561e44f1a75dd978d Mon Sep 17 00:00:00 2001
> From: Shraddha Barke <shraddha.6596@gmail.com>
> Date: Mon, 3 Aug 2015 11:34:19 +0530
> Subject: [PATCH] Staging : lustre : Use -EINVAL instead of -ENOSYS
> 
> ENOSYS means that a nonexistent system call was called. This should
> not be used for invalid operations on otherwise valid syscalls.
> 
> Use -EINVAL instead of -ENOSYS. This fixes checkpatch warning message:
> 
> WARNING: ENOSYS means 'invalid syscall nr' and nothing else

Is this really true, though?
I know you are working off what the tool reports.
But in reality people have been using ENOSYS to indicate
"this thing that you want is not really available" 
Reading the define file we can see:
/usr/include/asm-generic/errno.h:#define	ENOSYS		38	/* Function not implemented */

$ grep -r 'ENOSYS;' fs/ | wc -l
75

So it's extensively used in the fs tree by existing code.

Hmm…. Searching some more I arrived at commit e15f431f
that changes the in-kernel comment and claims the "system call only stuff".

So Greg, do you want Lustre to get rid of use of ENOSYS (all 16 users we have),
or is it ok to leave them in?

> 
> Signed-off-by: Shraddha Barke <shraddha.6596@gmail.com>
> ---
> drivers/staging/lustre/lustre/llite/file.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/staging/lustre/lustre/llite/file.c b/drivers/staging/lustre/lustre/llite/file.c
> index 2c467bf..93619a8 100644
> --- a/drivers/staging/lustre/lustre/llite/file.c
> +++ b/drivers/staging/lustre/lustre/llite/file.c
> @@ -2786,7 +2786,7 @@ ll_file_flock(struct file *file, int cmd, struct file_lock *file_lock)
> static int
> ll_file_noflock(struct file *file, int cmd, struct file_lock *file_lock)
> {
> -	return -ENOSYS;
> +	return -EINVAL;
> }
> 
> /**
> -- 
> 2.1.0
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
Sudip Mukherjee Aug. 3, 2015, 7:12 a.m. UTC | #2
On Mon, Aug 03, 2015 at 11:48:59AM +0530, Shraddha Barke wrote:
> From b67c6c20455b04b77447ab4561e44f1a75dd978d Mon Sep 17 00:00:00 2001
> From: Shraddha Barke <shraddha.6596@gmail.com>
> Date: Mon, 3 Aug 2015 11:34:19 +0530
> Subject: [PATCH] Staging : lustre : Use -EINVAL instead of -ENOSYS

You do not need these in the commit message.

regards
sudip
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
Dan Carpenter Aug. 3, 2015, 7:24 a.m. UTC | #3
Returning EINVAL here is the wrong thing.  Just leave the code as is.

regards,
dan carpenter

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
Greg Kroah-Hartman Aug. 3, 2015, 4:21 p.m. UTC | #4
On Mon, Aug 03, 2015 at 06:41:22AM +0000, Drokin, Oleg wrote:
> subject have been missing, so I filled in something.
> 
> On Aug 3, 2015, at 2:18 AM, Shraddha Barke wrote:
> 
> > From b67c6c20455b04b77447ab4561e44f1a75dd978d Mon Sep 17 00:00:00 2001
> > From: Shraddha Barke <shraddha.6596@gmail.com>
> > Date: Mon, 3 Aug 2015 11:34:19 +0530
> > Subject: [PATCH] Staging : lustre : Use -EINVAL instead of -ENOSYS
> > 
> > ENOSYS means that a nonexistent system call was called. This should
> > not be used for invalid operations on otherwise valid syscalls.
> > 
> > Use -EINVAL instead of -ENOSYS. This fixes checkpatch warning message:
> > 
> > WARNING: ENOSYS means 'invalid syscall nr' and nothing else
> 
> Is this really true, though?
> I know you are working off what the tool reports.
> But in reality people have been using ENOSYS to indicate
> "this thing that you want is not really available" 
> Reading the define file we can see:
> /usr/include/asm-generic/errno.h:#define	ENOSYS		38	/* Function not implemented */
> 
> $ grep -r 'ENOSYS;' fs/ | wc -l
> 75
> 
> So it's extensively used in the fs tree by existing code.
> 
> Hmm…. Searching some more I arrived at commit e15f431f
> that changes the in-kernel comment and claims the "system call only stuff".
> 
> So Greg, do you want Lustre to get rid of use of ENOSYS (all 16 users we have),
> or is it ok to leave them in?

For now I'd just leave it as-is.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Patch
diff mbox series

diff --git a/drivers/staging/lustre/lustre/llite/file.c b/drivers/staging/lustre/lustre/llite/file.c
index 2c467bf..93619a8 100644
--- a/drivers/staging/lustre/lustre/llite/file.c
+++ b/drivers/staging/lustre/lustre/llite/file.c
@@ -2786,7 +2786,7 @@  ll_file_flock(struct file *file, int cmd, struct file_lock *file_lock)
 static int
 ll_file_noflock(struct file *file, int cmd, struct file_lock *file_lock)
 {
-	return -ENOSYS;
+	return -EINVAL;
 }
 
 /**