[RFC][PATCH 1/6] delalloc ENOSPC: Add per-inode counters to store reserved blocks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



ext4: delalloc -- Adding per inode counters to store reserved blocks

From: Mingming cao <cmm@xxxxxxxxxx>

Add per-inode counters to store number of resreved data blocks
and metadata blocks, due to delayed allocation.

Signed-off-by: Mingming cao <cmm@xxxxxxxxxx>
---
 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;
 }
 


--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux