linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Dmitry Monakhov <dmonakhov@openvz.org>
To: linux-ext4@vger.kernel.org
Cc: tytso@mit.edu, jack@suse.cz, lczerner@redhat.com,
	Dmitry Monakhov <dmonakhov@openvz.org>
Subject: [PATCH 02/10] ext4: give i_aiodio_unwritten more appropriate name
Date: Mon, 24 Sep 2012 15:44:12 +0400	[thread overview]
Message-ID: <1348487060-19598-3-git-send-email-dmonakhov@openvz.org> (raw)
In-Reply-To: <1348487060-19598-1-git-send-email-dmonakhov@openvz.org>

AIO/DIO prefix is wrong because it account unwritten extents which
also may be scheduled from buffered write endio

Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>
---
 fs/ext4/ext4.h    |    4 ++--
 fs/ext4/file.c    |    6 +++---
 fs/ext4/page-io.c |    2 +-
 fs/ext4/super.c   |    2 +-
 4 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
index e59fbc5..47f0778 100644
--- a/fs/ext4/ext4.h
+++ b/fs/ext4/ext4.h
@@ -912,7 +912,7 @@ struct ext4_inode_info {
 	struct list_head i_completed_io_list;
 	spinlock_t i_completed_io_lock;
 	atomic_t i_ioend_count;	/* Number of outstanding io_end structs */
-	atomic_t i_aiodio_unwritten; /* Nr. of inflight conversions pending */
+	atomic_t i_unwritten; /* Nr. of inflight conversions pending */
 
 	spinlock_t i_block_reservation_lock;
 
@@ -1335,7 +1335,7 @@ static inline void ext4_set_io_unwritten_flag(struct inode *inode,
 {
 	if (!(io_end->flag & EXT4_IO_END_UNWRITTEN)) {
 		io_end->flag |= EXT4_IO_END_UNWRITTEN;
-		atomic_inc(&EXT4_I(inode)->i_aiodio_unwritten);
+		atomic_inc(&EXT4_I(inode)->i_unwritten);
 	}
 }
 
diff --git a/fs/ext4/file.c b/fs/ext4/file.c
index 3b0e3bd..39335bd 100644
--- a/fs/ext4/file.c
+++ b/fs/ext4/file.c
@@ -55,11 +55,11 @@ static int ext4_release_file(struct inode *inode, struct file *filp)
 	return 0;
 }
 
-static void ext4_aiodio_wait(struct inode *inode)
+static void ext4_unwritten_wait(struct inode *inode)
 {
 	wait_queue_head_t *wq = ext4_ioend_wq(inode);
 
-	wait_event(*wq, (atomic_read(&EXT4_I(inode)->i_aiodio_unwritten) == 0));
+	wait_event(*wq, (atomic_read(&EXT4_I(inode)->i_unwritten) == 0));
 }
 
 /*
@@ -116,7 +116,7 @@ ext4_file_dio_write(struct kiocb *iocb, const struct iovec *iov,
 				 "performance will be poor.",
 				 inode->i_ino, current->comm);
 		mutex_lock(ext4_aio_mutex(inode));
-		ext4_aiodio_wait(inode);
+		ext4_unwritten_wait(inode);
 	}
 
 	BUG_ON(iocb->ki_pos != pos);
diff --git a/fs/ext4/page-io.c b/fs/ext4/page-io.c
index dcdeef1..de77e31 100644
--- a/fs/ext4/page-io.c
+++ b/fs/ext4/page-io.c
@@ -113,7 +113,7 @@ int ext4_end_io_nolock(ext4_io_end_t *io)
 	if (io->flag & EXT4_IO_END_DIRECT)
 		inode_dio_done(inode);
 	/* Wake up anyone waiting on unwritten extent conversion */
-	if (atomic_dec_and_test(&EXT4_I(inode)->i_aiodio_unwritten))
+	if (atomic_dec_and_test(&EXT4_I(inode)->i_unwritten))
 		wake_up_all(ext4_ioend_wq(io->inode));
 	return ret;
 }
diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index 64acf55..0a37c75 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -968,7 +968,7 @@ static struct inode *ext4_alloc_inode(struct super_block *sb)
 	ei->i_sync_tid = 0;
 	ei->i_datasync_tid = 0;
 	atomic_set(&ei->i_ioend_count, 0);
-	atomic_set(&ei->i_aiodio_unwritten, 0);
+	atomic_set(&ei->i_unwritten, 0);
 
 	return &ei->vfs_inode;
 }
-- 
1.7.7.6


  parent reply	other threads:[~2012-09-24 11:44 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-24 11:44 [PATCH 00/10] ext4: Bunch of DIO/AIO fixes V3 Dmitry Monakhov
2012-09-24 11:44 ` [PATCH 01/10] ext4: ext4_inode_info diet Dmitry Monakhov
2012-09-26 12:28   ` Jan Kara
2012-09-24 11:44 ` Dmitry Monakhov [this message]
2012-09-26 12:32   ` [PATCH 02/10] ext4: give i_aiodio_unwritten more appropriate name Jan Kara
2012-09-24 11:44 ` [PATCH 03/10] ext4: fix unwritten counter leakage Dmitry Monakhov
2012-09-26 13:07   ` Jan Kara
2012-09-27 12:19     ` Dmitry Monakhov
2012-09-27 12:34       ` Jan Kara
2012-09-27 12:54         ` Dmitry Monakhov
2012-09-27 13:07           ` Jan Kara
2012-09-24 11:44 ` [PATCH 04/10] ext4: completed_io locking cleanup V3 Dmitry Monakhov
2012-09-26 13:42   ` Jan Kara
2012-09-27 11:24     ` Dmitry Monakhov
2012-09-24 11:44 ` [PATCH 05/10] ext4: serialize dio nonlocked reads with defrag workers V3 Dmitry Monakhov
2012-09-26 13:49   ` Jan Kara
2012-09-24 11:44 ` [PATCH 06/10] ext4: punch_hole should wait for DIO writers V2 Dmitry Monakhov
2012-09-26 13:56   ` Jan Kara
2012-09-24 11:44 ` [PATCH 07/10] ext4: serialize unlocked dio reads with truncate Dmitry Monakhov
2012-09-24 11:44 ` [PATCH 08/10] ext4: endless truncate due to nonlocked dio readers V2 Dmitry Monakhov
2012-09-26 14:05   ` Jan Kara
2012-09-27 15:11     ` Dmitry Monakhov
2012-09-27 15:23       ` Jan Kara
2012-09-24 11:44 ` [PATCH 09/10] ext4: serialize truncate with owerwrite DIO workers V2 Dmitry Monakhov
2012-09-24 11:44 ` [PATCH 10/10] ext4: fix ext_remove_space for punch_hole case Dmitry Monakhov

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=1348487060-19598-3-git-send-email-dmonakhov@openvz.org \
    --to=dmonakhov@openvz.org \
    --cc=jack@suse.cz \
    --cc=lczerner@redhat.com \
    --cc=linux-ext4@vger.kernel.org \
    --cc=tytso@mit.edu \
    /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;
as well as URLs for NNTP newsgroup(s).