All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ext2: delay discarding block reservation
@ 2020-06-22  1:25 Chengguang Xu
  0 siblings, 0 replies; only message in thread
From: Chengguang Xu @ 2020-06-22  1:25 UTC (permalink / raw)
  To: jack; +Cc: linux-ext4, Chengguang Xu

Currently block reservation will be discard when a write mode
file structure is released. It is not efficent for concurrent
writing, so change to discard block reservation when last writer
release file structure.

Signed-off-by: Chengguang Xu <cgxu519@mykernel.net>
---
 fs/ext2/file.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/ext2/file.c b/fs/ext2/file.c
index 60378ddf1424..28eaf429138b 100644
--- a/fs/ext2/file.c
+++ b/fs/ext2/file.c
@@ -139,7 +139,7 @@ static int ext2_file_mmap(struct file *file, struct vm_area_struct *vma)
  */
 static int ext2_release_file (struct inode * inode, struct file * filp)
 {
-	if (filp->f_mode & FMODE_WRITE) {
+	if ((filp->f_mode & FMODE_WRITE) && (atomic_read(&inode->i_writecount) == 1)) {
 		mutex_lock(&EXT2_I(inode)->truncate_mutex);
 		ext2_discard_reservation(inode);
 		mutex_unlock(&EXT2_I(inode)->truncate_mutex);
-- 
2.17.2


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2020-06-22  1:25 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-22  1:25 [PATCH] ext2: delay discarding block reservation Chengguang Xu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.