public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
From: Catherine Hoang <catherine.hoang@oracle.com>
To: stable@vger.kernel.org
Cc: linux-xfs@vger.kernel.org
Subject: [PATCH 6.6 12/21] xfs: match lock mode in xfs_buffered_write_iomap_begin()
Date: Tue, 15 Oct 2024 17:11:17 -0700	[thread overview]
Message-ID: <20241016001126.3256-13-catherine.hoang@oracle.com> (raw)
In-Reply-To: <20241016001126.3256-1-catherine.hoang@oracle.com>

From: Zhang Yi <yi.zhang@huawei.com>

commit bb712842a85d595525e72f0e378c143e620b3ea2 upstream.

Commit 1aa91d9c9933 ("xfs: Add async buffered write support") replace
xfs_ilock(XFS_ILOCK_EXCL) with xfs_ilock_for_iomap() when locking the
writing inode, and a new variable lockmode is used to indicate the lock
mode. Although the lockmode should always be XFS_ILOCK_EXCL, it's still
better to use this variable instead of useing XFS_ILOCK_EXCL directly
when unlocking the inode.

Fixes: 1aa91d9c9933 ("xfs: Add async buffered write support")
Signed-off-by: Zhang Yi <yi.zhang@huawei.com>
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Chandan Babu R <chandanbabu@kernel.org>
Signed-off-by: Catherine Hoang <catherine.hoang@oracle.com>
Acked-by: Darrick J. Wong <djwong@kernel.org>
---
 fs/xfs/xfs_iomap.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/fs/xfs/xfs_iomap.c b/fs/xfs/xfs_iomap.c
index 6e5ace7c9bc9..359aa4fc09b6 100644
--- a/fs/xfs/xfs_iomap.c
+++ b/fs/xfs/xfs_iomap.c
@@ -1141,13 +1141,13 @@ xfs_buffered_write_iomap_begin(
 	 * them out if the write happens to fail.
 	 */
 	seq = xfs_iomap_inode_sequence(ip, IOMAP_F_NEW);
-	xfs_iunlock(ip, XFS_ILOCK_EXCL);
+	xfs_iunlock(ip, lockmode);
 	trace_xfs_iomap_alloc(ip, offset, count, allocfork, &imap);
 	return xfs_bmbt_to_iomap(ip, iomap, &imap, flags, IOMAP_F_NEW, seq);
 
 found_imap:
 	seq = xfs_iomap_inode_sequence(ip, 0);
-	xfs_iunlock(ip, XFS_ILOCK_EXCL);
+	xfs_iunlock(ip, lockmode);
 	return xfs_bmbt_to_iomap(ip, iomap, &imap, flags, 0, seq);
 
 found_cow:
@@ -1157,17 +1157,17 @@ xfs_buffered_write_iomap_begin(
 		if (error)
 			goto out_unlock;
 		seq = xfs_iomap_inode_sequence(ip, IOMAP_F_SHARED);
-		xfs_iunlock(ip, XFS_ILOCK_EXCL);
+		xfs_iunlock(ip, lockmode);
 		return xfs_bmbt_to_iomap(ip, iomap, &cmap, flags,
 					 IOMAP_F_SHARED, seq);
 	}
 
 	xfs_trim_extent(&cmap, offset_fsb, imap.br_startoff - offset_fsb);
-	xfs_iunlock(ip, XFS_ILOCK_EXCL);
+	xfs_iunlock(ip, lockmode);
 	return xfs_bmbt_to_iomap(ip, iomap, &cmap, flags, 0, seq);
 
 out_unlock:
-	xfs_iunlock(ip, XFS_ILOCK_EXCL);
+	xfs_iunlock(ip, lockmode);
 	return error;
 }
 
-- 
2.39.3


  parent reply	other threads:[~2024-10-16  0:11 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-16  0:11 [PATCH 6.6 00/21] xfs backports for 6.6.y (from 6.10) Catherine Hoang
2024-10-16  0:11 ` [PATCH 6.6 01/21] xfs: fix error returns from xfs_bmapi_write Catherine Hoang
2024-10-16  0:11 ` [PATCH 6.6 02/21] xfs: fix xfs_bmap_add_extent_delay_real for partial conversions Catherine Hoang
2024-10-16  0:11 ` [PATCH 6.6 03/21] xfs: remove a racy if_bytes check in xfs_reflink_end_cow_extent Catherine Hoang
2024-10-16  0:11 ` [PATCH 6.6 04/21] xfs: require XFS_SB_FEAT_INCOMPAT_LOG_XATTRS for attr log intent item recovery Catherine Hoang
2024-10-16  0:11 ` [PATCH 6.6 05/21] xfs: check opcode and iovec count match in xlog_recover_attri_commit_pass2 Catherine Hoang
2024-10-16  0:11 ` [PATCH 6.6 06/21] xfs: fix missing check for invalid attr flags Catherine Hoang
2024-10-16  0:11 ` [PATCH 6.6 07/21] xfs: check shortform attr entry flags specifically Catherine Hoang
2024-10-16  0:11 ` [PATCH 6.6 08/21] xfs: validate recovered name buffers when recovering xattr items Catherine Hoang
2024-10-16  0:11 ` [PATCH 6.6 09/21] xfs: enforce one namespace per attribute Catherine Hoang
2024-10-16  0:11 ` [PATCH 6.6 10/21] xfs: revert commit 44af6c7e59b12 Catherine Hoang
2024-10-16  0:11 ` [PATCH 6.6 11/21] xfs: use dontcache for grabbing inodes during scrub Catherine Hoang
2024-10-16  0:11 ` Catherine Hoang [this message]
2024-10-16  0:11 ` [PATCH 6.6 13/21] xfs: make the seq argument to xfs_bmapi_convert_delalloc() optional Catherine Hoang
2024-10-16  0:11 ` [PATCH 6.6 14/21] xfs: make xfs_bmapi_convert_delalloc() to allocate the target offset Catherine Hoang
2024-10-16  0:11 ` [PATCH 6.6 15/21] xfs: convert delayed extents to unwritten when zeroing post eof blocks Catherine Hoang
2024-10-16  0:11 ` [PATCH 6.6 16/21] xfs: allow symlinks with short remote targets Catherine Hoang
2024-10-16  0:11 ` [PATCH 6.6 17/21] xfs: make sure sb_fdblocks is non-negative Catherine Hoang
2024-10-16  0:11 ` [PATCH 6.6 18/21] xfs: fix unlink vs cluster buffer instantiation race Catherine Hoang
2024-10-16  0:11 ` [PATCH 6.6 19/21] xfs: fix freeing speculative preallocations for preallocated files Catherine Hoang
2024-10-16  0:11 ` [PATCH 6.6 20/21] xfs: restrict when we try to align cow fork delalloc to cowextsz hints Catherine Hoang
2024-10-16  0:11 ` [PATCH 6.6 21/21] xfs: allow unlinked symlinks and dirs with zero size Catherine Hoang
2024-10-18  8:44 ` [PATCH 6.6 00/21] xfs backports for 6.6.y (from 6.10) Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20241016001126.3256-13-catherine.hoang@oracle.com \
    --to=catherine.hoang@oracle.com \
    --cc=linux-xfs@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox