[Ocfs2-devel] patch to improve directory creation performance
Ling, Xiaofeng
xiaofeng.ling at intel.com
Wed Jul 28 03:19:25 CDT 2004
We found the reason that cause the directory creation is slow again in
the new version.
It is becuase in ocfs_extend_file, it will write zero to new allocated
block.For directory,
it is not needed.
See the patch.
Now the directory creation speed is improved from 700/s to 5000/s.
------------------------------------------------------------------------
----------------------
Index: file.c
===================================================================
--- file.c (revision 1306)
+++ file.c (working copy)
@@ -1171,6 +1171,7 @@
#define OCFS_MAX_ZERO_BLOCKS (4096)
+ if(!S_ISDIR(inode->i_mode)) {
down(&OCFS_I(inode)->ip_sem);
if (!(OCFS_I(inode)->ip_open_flags &
OCFS_OIN_OPEN_FOR_DIRECTIO)) {
struct buffer_head **bhs = NULL;
@@ -1237,7 +1238,7 @@
kfree(bhs);
} else
up(&OCFS_I(inode)->ip_sem);
-
+ }
ext_alloc_inode = ocfs_get_system_file_inode(osb,
EXTENT_ALLOC_BITMAP_SYSTEM_INODE, osb->node_num);
if (!ext_alloc_inode) {
status = -EFAIL;
More information about the Ocfs2-devel
mailing list