98 lines
3.2 KiB
Diff
98 lines
3.2 KiB
Diff
From 027d1aa67e32c2c80851105c6d962f3db46eb476 Mon Sep 17 00:00:00 2001
|
|
From: Dmitry Monakhov <dmonakhov@openvz.org>
|
|
Date: Fri, 28 Sep 2012 23:24:52 -0400
|
|
Subject: [PATCH 02/13] ext4: give i_aiodio_unwritten a more appropriate name
|
|
|
|
AIO/DIO prefix is wrong because it account unwritten extents which
|
|
also may be scheduled from buffered write endio
|
|
|
|
Reviewed-by: Jan Kara <jack@suse.cz>
|
|
Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>
|
|
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
|
|
(cherry picked from commit e27f41e1b789e60e7d8cc9c81fd93ca49ef31f13)
|
|
---
|
|
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 80afc8f..28dfd9b 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;
|
|
|
|
@@ -1326,7 +1326,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 270e58f..1b6b425 100644
|
|
--- a/fs/ext4/super.c
|
|
+++ b/fs/ext4/super.c
|
|
@@ -959,7 +959,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.12.rc0.22.gcdd159b
|
|
|