diff options
| author | Yuezhang Mo <Yuezhang.Mo@sony.com> | 2025-09-30 13:42:57 +0800 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2025-10-29 14:04:32 +0100 |
| commit | 00395980d13d963de42e54b4a5ad3860d3b4c9cc (patch) | |
| tree | 3ef79527b8d33bbf36b98a6bc8719643814c86bf /fs | |
| parent | 6acfe25968913788d30ec0eedd80178c4ea3f1d0 (diff) | |
| download | linux-00395980d13d963de42e54b4a5ad3860d3b4c9cc.tar.gz linux-00395980d13d963de42e54b4a5ad3860d3b4c9cc.tar.bz2 linux-00395980d13d963de42e54b4a5ad3860d3b4c9cc.zip | |
dax: skip read lock assertion for read-only filesystems
[ Upstream commit 154d1e7ad9e5ce4b2aaefd3862b3dba545ad978d ]
The commit 168316db3583("dax: assert that i_rwsem is held
exclusive for writes") added lock assertions to ensure proper
locking in DAX operations. However, these assertions trigger
false-positive lockdep warnings since read lock is unnecessary
on read-only filesystems(e.g., erofs).
This patch skips the read lock assertion for read-only filesystems,
eliminating the spurious warnings while maintaining the integrity
checks for writable filesystems.
Fixes: 168316db3583 ("dax: assert that i_rwsem is held exclusive for writes")
Signed-off-by: Yuezhang Mo <Yuezhang.Mo@sony.com>
Reviewed-by: Friendy Su <friendy.su@sony.com>
Reviewed-by: Daniel Palmer <daniel.palmer@sony.com>
Reviewed-by: Gao Xiang <hsiangkao@linux.alibaba.com>
Signed-off-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'fs')
| -rw-r--r-- | fs/dax.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -1524,7 +1524,7 @@ dax_iomap_rw(struct kiocb *iocb, struct iov_iter *iter, if (iov_iter_rw(iter) == WRITE) { lockdep_assert_held_write(&iomi.inode->i_rwsem); iomi.flags |= IOMAP_WRITE; - } else { + } else if (!sb_rdonly(iomi.inode->i_sb)) { lockdep_assert_held(&iomi.inode->i_rwsem); } |
