Patchwork [02/10] ext4: give i_aiodio_unwritten more appropriate name

login
register
mail settings
Submitter Dmitri Monakho
Date Sept. 24, 2012, 11:44 a.m.
Message ID <1348487060-19598-3-git-send-email-dmonakhov@openvz.org>
Download mbox | patch
Permalink /patch/186376/
State Superseded
Headers show

Comments

Dmitri Monakho - Sept. 24, 2012, 11:44 a.m.
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(-)
Jan Kara - Sept. 26, 2012, 12:32 p.m.
On Mon 24-09-12 15:44:12, Dmitry Monakhov wrote:
> AIO/DIO prefix is wrong because it account unwritten extents which
> also may be scheduled from buffered write endio
  Correct. You can add:
Reviewed-by: Jan Kara <jack@suse.cz>

							Honza
> 
> 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
>

Patch

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;
 }