diff mbox series

[1/3] fs: sort out cosmetic differences between stat funcs and add predicts

Message ID 20250406235806.1637000-1-mjguzik@gmail.com (mailing list archive)
State New
Headers show
Series [1/3] fs: sort out cosmetic differences between stat funcs and add predicts | expand

Commit Message

Mateusz Guzik April 6, 2025, 11:58 p.m. UTC
This is a nop, but I did verify asm improves.

Signed-off-by: Mateusz Guzik <mjguzik@gmail.com>
---
 fs/stat.c | 35 ++++++++++++++++++++---------------
 1 file changed, 20 insertions(+), 15 deletions(-)

Comments

Christian Brauner April 8, 2025, 8:28 a.m. UTC | #1
On Mon, 07 Apr 2025 01:58:04 +0200, Mateusz Guzik wrote:
> This is a nop, but I did verify asm improves.
> 
> 

Applied to the vfs-6.16.misc branch of the vfs/vfs.git tree.
Patches in the vfs-6.16.misc branch should appear in linux-next soon.

Please report any outstanding bugs that were missed during review in a
new review to the original patch series allowing us to drop it.

It's encouraged to provide Acked-bys and Reviewed-bys even though the
patch has now been applied. If possible patch trailers will be updated.

Note that commit hashes shown below are subject to change due to rebase,
trailer updates or similar. If in doubt, please check the listed branch.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs.git
branch: vfs-6.16.misc

[1/3] fs: sort out cosmetic differences between stat funcs and add predicts
      https://git.kernel.org/vfs/vfs/c/eaec2cd1670d
[2/3] fs: predict not having to do anything in fdput()
      https://git.kernel.org/vfs/vfs/c/5f3e0b4a1f59
Jan Kara April 8, 2025, 10:14 a.m. UTC | #2
On Mon 07-04-25 01:58:04, Mateusz Guzik wrote:
> This is a nop, but I did verify asm improves.
> 
> Signed-off-by: Mateusz Guzik <mjguzik@gmail.com>

Looks good. Feel free to add:

Reviewed-by: Jan Kara <jack@suse.cz>

								Honza

> ---
>  fs/stat.c | 35 ++++++++++++++++++++---------------
>  1 file changed, 20 insertions(+), 15 deletions(-)
> 
> diff --git a/fs/stat.c b/fs/stat.c
> index f13308bfdc98..b79ddb83914b 100644
> --- a/fs/stat.c
> +++ b/fs/stat.c
> @@ -241,7 +241,7 @@ int vfs_getattr(const struct path *path, struct kstat *stat,
>  	int retval;
>  
>  	retval = security_inode_getattr(path);
> -	if (retval)
> +	if (unlikely(retval))
>  		return retval;
>  	return vfs_getattr_nosec(path, stat, request_mask, query_flags);
>  }
> @@ -421,7 +421,7 @@ SYSCALL_DEFINE2(stat, const char __user *, filename,
>  	int error;
>  
>  	error = vfs_stat(filename, &stat);
> -	if (error)
> +	if (unlikely(error))
>  		return error;
>  
>  	return cp_old_stat(&stat, statbuf);
> @@ -434,7 +434,7 @@ SYSCALL_DEFINE2(lstat, const char __user *, filename,
>  	int error;
>  
>  	error = vfs_lstat(filename, &stat);
> -	if (error)
> +	if (unlikely(error))
>  		return error;
>  
>  	return cp_old_stat(&stat, statbuf);
> @@ -443,12 +443,13 @@ SYSCALL_DEFINE2(lstat, const char __user *, filename,
>  SYSCALL_DEFINE2(fstat, unsigned int, fd, struct __old_kernel_stat __user *, statbuf)
>  {
>  	struct kstat stat;
> -	int error = vfs_fstat(fd, &stat);
> +	int error;
>  
> -	if (!error)
> -		error = cp_old_stat(&stat, statbuf);
> +	error = vfs_fstat(fd, &stat);
> +	if (unlikely(error))
> +		return error;
>  
> -	return error;
> +	return cp_old_stat(&stat, statbuf);
>  }
>  
>  #endif /* __ARCH_WANT_OLD_STAT */
> @@ -502,10 +503,12 @@ SYSCALL_DEFINE2(newstat, const char __user *, filename,
>  		struct stat __user *, statbuf)
>  {
>  	struct kstat stat;
> -	int error = vfs_stat(filename, &stat);
> +	int error;
>  
> -	if (error)
> +	error = vfs_stat(filename, &stat);
> +	if (unlikely(error))
>  		return error;
> +
>  	return cp_new_stat(&stat, statbuf);
>  }
>  
> @@ -516,7 +519,7 @@ SYSCALL_DEFINE2(newlstat, const char __user *, filename,
>  	int error;
>  
>  	error = vfs_lstat(filename, &stat);
> -	if (error)
> +	if (unlikely(error))
>  		return error;
>  
>  	return cp_new_stat(&stat, statbuf);
> @@ -530,8 +533,9 @@ SYSCALL_DEFINE4(newfstatat, int, dfd, const char __user *, filename,
>  	int error;
>  
>  	error = vfs_fstatat(dfd, filename, &stat, flag);
> -	if (error)
> +	if (unlikely(error))
>  		return error;
> +
>  	return cp_new_stat(&stat, statbuf);
>  }
>  #endif
> @@ -539,12 +543,13 @@ SYSCALL_DEFINE4(newfstatat, int, dfd, const char __user *, filename,
>  SYSCALL_DEFINE2(newfstat, unsigned int, fd, struct stat __user *, statbuf)
>  {
>  	struct kstat stat;
> -	int error = vfs_fstat(fd, &stat);
> +	int error;
>  
> -	if (!error)
> -		error = cp_new_stat(&stat, statbuf);
> +	error = vfs_fstat(fd, &stat);
> +	if (unlikely(error))
> +		return error;
>  
> -	return error;
> +	return cp_new_stat(&stat, statbuf);
>  }
>  #endif
>  
> -- 
> 2.43.0
>
diff mbox series

Patch

diff --git a/fs/stat.c b/fs/stat.c
index f13308bfdc98..b79ddb83914b 100644
--- a/fs/stat.c
+++ b/fs/stat.c
@@ -241,7 +241,7 @@  int vfs_getattr(const struct path *path, struct kstat *stat,
 	int retval;
 
 	retval = security_inode_getattr(path);
-	if (retval)
+	if (unlikely(retval))
 		return retval;
 	return vfs_getattr_nosec(path, stat, request_mask, query_flags);
 }
@@ -421,7 +421,7 @@  SYSCALL_DEFINE2(stat, const char __user *, filename,
 	int error;
 
 	error = vfs_stat(filename, &stat);
-	if (error)
+	if (unlikely(error))
 		return error;
 
 	return cp_old_stat(&stat, statbuf);
@@ -434,7 +434,7 @@  SYSCALL_DEFINE2(lstat, const char __user *, filename,
 	int error;
 
 	error = vfs_lstat(filename, &stat);
-	if (error)
+	if (unlikely(error))
 		return error;
 
 	return cp_old_stat(&stat, statbuf);
@@ -443,12 +443,13 @@  SYSCALL_DEFINE2(lstat, const char __user *, filename,
 SYSCALL_DEFINE2(fstat, unsigned int, fd, struct __old_kernel_stat __user *, statbuf)
 {
 	struct kstat stat;
-	int error = vfs_fstat(fd, &stat);
+	int error;
 
-	if (!error)
-		error = cp_old_stat(&stat, statbuf);
+	error = vfs_fstat(fd, &stat);
+	if (unlikely(error))
+		return error;
 
-	return error;
+	return cp_old_stat(&stat, statbuf);
 }
 
 #endif /* __ARCH_WANT_OLD_STAT */
@@ -502,10 +503,12 @@  SYSCALL_DEFINE2(newstat, const char __user *, filename,
 		struct stat __user *, statbuf)
 {
 	struct kstat stat;
-	int error = vfs_stat(filename, &stat);
+	int error;
 
-	if (error)
+	error = vfs_stat(filename, &stat);
+	if (unlikely(error))
 		return error;
+
 	return cp_new_stat(&stat, statbuf);
 }
 
@@ -516,7 +519,7 @@  SYSCALL_DEFINE2(newlstat, const char __user *, filename,
 	int error;
 
 	error = vfs_lstat(filename, &stat);
-	if (error)
+	if (unlikely(error))
 		return error;
 
 	return cp_new_stat(&stat, statbuf);
@@ -530,8 +533,9 @@  SYSCALL_DEFINE4(newfstatat, int, dfd, const char __user *, filename,
 	int error;
 
 	error = vfs_fstatat(dfd, filename, &stat, flag);
-	if (error)
+	if (unlikely(error))
 		return error;
+
 	return cp_new_stat(&stat, statbuf);
 }
 #endif
@@ -539,12 +543,13 @@  SYSCALL_DEFINE4(newfstatat, int, dfd, const char __user *, filename,
 SYSCALL_DEFINE2(newfstat, unsigned int, fd, struct stat __user *, statbuf)
 {
 	struct kstat stat;
-	int error = vfs_fstat(fd, &stat);
+	int error;
 
-	if (!error)
-		error = cp_new_stat(&stat, statbuf);
+	error = vfs_fstat(fd, &stat);
+	if (unlikely(error))
+		return error;
 
-	return error;
+	return cp_new_stat(&stat, statbuf);
 }
 #endif