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 */