summaryrefslogtreecommitdiff
path: root/fs/netfs/locking.c
diff options
context:
space:
mode:
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>2024-11-04 08:46:55 +0100
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>2024-11-04 08:46:55 +0100
commita7a86fe18b9a3c1e3f2c0b4687bf53cc2b9f9f88 (patch)
tree3d0296da382dd92ab964719d981fa32ee383e886 /fs/netfs/locking.c
parent5e3eedf55f13ef20ff475eacac30d1e6f91641da (diff)
parent59b723cd2adbac2a34fc8e12c74ae26ae45bf230 (diff)
Merge tag 'v6.12-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux into gpio/for-next
Linux 6.12-rc6
Diffstat (limited to 'fs/netfs/locking.c')
-rw-r--r--fs/netfs/locking.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/netfs/locking.c b/fs/netfs/locking.c
index 21eab56ee2f9..2249ecd09d0a 100644
--- a/fs/netfs/locking.c
+++ b/fs/netfs/locking.c
@@ -109,6 +109,7 @@ int netfs_start_io_write(struct inode *inode)
up_write(&inode->i_rwsem);
return -ERESTARTSYS;
}
+ downgrade_write(&inode->i_rwsem);
return 0;
}
EXPORT_SYMBOL(netfs_start_io_write);
@@ -123,7 +124,7 @@ EXPORT_SYMBOL(netfs_start_io_write);
void netfs_end_io_write(struct inode *inode)
__releases(inode->i_rwsem)
{
- up_write(&inode->i_rwsem);
+ up_read(&inode->i_rwsem);
}
EXPORT_SYMBOL(netfs_end_io_write);