Re: [PATCH] fs/ceph/io: make ceph_start_io_*() killable
From: Viacheslav Dubeyko
Date: Fri Dec 06 2024 - 12:40:47 EST
On Fri, 2024-12-06 at 17:50 +0100, Max Kellermann wrote:
> This allows killing processes that wait for a lock when one process
> is
> stuck waiting for the Ceph server. This is similar to the NFS commit
> 38a125b31504 ("fs/nfs/io: make nfs_start_io_*() killable").
>
> Signed-off-by: Max Kellermann <max.kellermann@xxxxxxxxx>
> ---
> fs/ceph/file.c | 22 +++++++++++++---------
> fs/ceph/io.c | 44 +++++++++++++++++++++++++++++++++-----------
> fs/ceph/io.h | 8 +++++---
> 3 files changed, 51 insertions(+), 23 deletions(-)
>
>
<skipped>
>
> /**
> diff --git a/fs/ceph/io.h b/fs/ceph/io.h
> index fa594cd77348..08d58253f533 100644
> --- a/fs/ceph/io.h
> +++ b/fs/ceph/io.h
> @@ -2,11 +2,13 @@
> #ifndef _FS_CEPH_IO_H
> #define _FS_CEPH_IO_H
>
> -void ceph_start_io_read(struct inode *inode);
> +#include <linux/compiler_attributes.h> // for __must_check
Do we really need this comment (for __must_check)? It looks like not
very informative. What do you think?
I am not completely sure that it really needs to request compiler to
check that return value is processed. Do we really need to enforce it?
Thanks,
Slava.
> +
> +__must_check int ceph_start_io_read(struct inode *inode);
> void ceph_end_io_read(struct inode *inode);
> -void ceph_start_io_write(struct inode *inode);
> +__must_check int ceph_start_io_write(struct inode *inode);
> void ceph_end_io_write(struct inode *inode);
> -void ceph_start_io_direct(struct inode *inode);
> +__must_check int ceph_start_io_direct(struct inode *inode);
> void ceph_end_io_direct(struct inode *inode);
>
> #endif /* FS_CEPH_IO_H */