Re: [PATCH v4 15/16] gfs2: add pre-content fsnotify hook to fault

Jan Kara
2024-08-29T11:15:12Z

On Wed 14-08-24 17:25:33, Josef Bacik wrote:
> gfs2 takes the glock before calling into filemap fault, so add the
> fsnotify hook for ->fault before we take the glock in order to avoid any
> possible deadlock with the HSM.
>
> Signed-off-by: Josef Bacik <josef@toxicpanda.com>

The idea of interactions between GFS2 cluster locking and HSM gives me
creeps. But yes, this patch looks good to me. Would be nice to get ack from
GFS2 guys. Andreas?

Honza

> ---
> fs/gfs2/file.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/fs/gfs2/file.c b/fs/gfs2/file.c
> index 08982937b5df..d4af70d765e0 100644
> --- a/fs/gfs2/file.c
> +++ b/fs/gfs2/file.c
> @@ -556,6 +556,10 @@ static vm_fault_t gfs2_fault(struct vm_fault *vmf)
> vm_fault_t ret;
> int err;
>
> + ret = filemap_maybe_emit_fsnotify_event(vmf);
> + if (unlikely(ret))
> + return ret;
> +
> gfs2_holder_init(ip->i_gl, LM_ST_SHARED, 0, &gh);
> err = gfs2_glock_nq(&gh);
> if (err) {
> --
> 2.43.0
>
--
Jan Kara <jack@suse.com>
SUSE Labs, CR