diff --git a/fs/9p/vfs_addr.c b/fs/9p/vfs_addr.c index a97ceb105cd8..ac69716aad07 100644 --- a/fs/9p/vfs_addr.c +++ b/fs/9p/vfs_addr.c @@ -33,8 +33,12 @@ static void v9fs_begin_writeback(struct netfs_io_request *wreq) { struct p9_fid *fid; + bool writing = (wreq->origin == NETFS_READ_FOR_WRITE || + wreq->origin == NETFS_WRITETHROUGH || + wreq->origin == NETFS_UNBUFFERED_WRITE || + wreq->origin == NETFS_DIO_WRITE); - fid = v9fs_fid_find_inode(wreq->inode, true, INVALID_UID, true); + fid = v9fs_fid_find_inode(wreq->inode, writing, INVALID_UID, true); if (!fid) { WARN_ONCE(1, "folio expected an open fid inode->i_ino=%lx\n", wreq->inode->i_ino);