* [RFC][PATCH 1/6] delalloc ENOSPC: Add per-inode counters to store reserved blocks
@ 2008-06-01 23:35 Mingming Cao
0 siblings, 0 replies; only message in thread
From: Mingming Cao @ 2008-06-01 23:35 UTC (permalink / raw)
To: linux-ext4
ext4: delalloc -- Adding per inode counters to store reserved blocks
From: Mingming cao <cmm@us.ibm.com>
Add per-inode counters to store number of resreved data blocks
and metadata blocks, due to delayed allocation.
Signed-off-by: Mingming cao <cmm@us.ibm.com>
---
fs/ext4/ext4_i.h | 4 ++++
fs/ext4/super.c | 2 ++
2 files changed, 6 insertions(+)
Index: linux-2.6.26-rc4/fs/ext4/ext4_i.h
===================================================================
--- linux-2.6.26-rc4.orig/fs/ext4/ext4_i.h 2008-06-01 13:06:25.000000000 -0700
+++ linux-2.6.26-rc4/fs/ext4/ext4_i.h 2008-06-01 14:26:14.000000000 -0700
@@ -162,6 +162,10 @@ struct ext4_inode_info {
/* mballoc */
struct list_head i_prealloc_list;
spinlock_t i_prealloc_lock;
+
+ /* allocation reservation info for delalloc */
+ unsigned long i_reserved_data_blocks;
+ unsigned long i_reserved_meta_blocks;
};
#endif /* _EXT4_I */
Index: linux-2.6.26-rc4/fs/ext4/super.c
===================================================================
--- linux-2.6.26-rc4.orig/fs/ext4/super.c 2008-06-01 14:22:03.000000000 -0700
+++ linux-2.6.26-rc4/fs/ext4/super.c 2008-06-01 14:26:14.000000000 -0700
@@ -572,6 +572,8 @@ static struct inode *ext4_alloc_inode(st
memset(&ei->i_cached_extent, 0, sizeof(struct ext4_ext_cache));
INIT_LIST_HEAD(&ei->i_prealloc_list);
spin_lock_init(&ei->i_prealloc_lock);
+ ei->i_reserved_data_blocks = 0;
+ ei->i_reserved_meta_blocks = 0;
return &ei->vfs_inode;
}
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2008-06-01 23:35 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-01 23:35 [RFC][PATCH 1/6] delalloc ENOSPC: Add per-inode counters to store reserved blocks Mingming Cao
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox