[Ocfs2-commits] mfasheh commits r1274 - trunk/src
svn-commits at oss.oracle.com
svn-commits at oss.oracle.com
Thu Jul 15 17:13:27 CDT 2004
Author: mfasheh
Date: 2004-07-15 16:13:26 -0500 (Thu, 15 Jul 2004)
New Revision: 1274
Modified:
trunk/src/alloc.c
Log:
* step three in speeding up delete -- freeing bits are no longer
checkpointed
Modified: trunk/src/alloc.c
===================================================================
--- trunk/src/alloc.c 2004-07-15 21:09:10 UTC (rev 1273)
+++ trunk/src/alloc.c 2004-07-15 21:13:26 UTC (rev 1274)
@@ -347,6 +347,8 @@
LOG_ERROR_STATUS(status);
goto finally;
}
+ ocfs_handle_set_checkpoint(handle, 0);
+ ocfs_handle_set_sync(handle, 0);
/* Get all the locks we need. do global bitmap last to
* preserve lock ordering with extend/create */
@@ -373,6 +375,9 @@
LOG_ERROR_STATUS (status);
goto abort;
}
+ ocfs_handle_add_lock(handle, OCFS_LKM_EXMODE,
+ FLAG_FILE_CREATE, NULL,
+ inode_alloc_inode[i], 1);
}
}
@@ -399,6 +404,9 @@
LOG_ERROR_STATUS (status);
goto abort;
}
+ ocfs_handle_add_lock(handle, OCFS_LKM_EXMODE,
+ FLAG_FILE_CREATE, NULL,
+ ext_alloc_inode[i], 1);
}
}
@@ -422,6 +430,9 @@
LOG_ERROR_STATUS (status);
goto abort;
}
+ ocfs_handle_add_lock(handle, OCFS_LKM_EXMODE,
+ FLAG_FILE_CREATE, globalbh,
+ vol_inode, 1);
}
/* free vol block */
@@ -469,46 +480,6 @@
if (handle)
ocfs_abort_trans(handle);
- if (vol_inode) {
- down_write(&OCFS_I(vol_inode)->ip_io_sem);
- status = ocfs_release_lock(osb, OCFS_LKM_EXMODE,
- FLAG_FILE_CREATE, globalbh,
- vol_inode);
- up_write(&OCFS_I(vol_inode)->ip_io_sem);
- if (status < 0) {
- LOG_ERROR_STATUS (status);
- goto finally;
- }
- }
-
- for (i = 0; i < osb->max_nodes; i++) {
- if (inode_alloc_free[i] != NULL) {
- down_write(&OCFS_I(inode_alloc_inode[i])->ip_io_sem);
- status = ocfs_release_lock (osb,
- OCFS_LKM_EXMODE,
- FLAG_FILE_CREATE,
- NULL, inode_alloc_inode[i]);
- up_write(&OCFS_I(inode_alloc_inode[i])->ip_io_sem);
- if (status < 0) {
- LOG_ERROR_STATUS (status);
- goto finally;
- }
- }
-
- if (ext_alloc_free[i] != NULL) {
- down_write(&OCFS_I(ext_alloc_inode[i])->ip_io_sem);
- status = ocfs_release_lock (osb,
- OCFS_LKM_EXMODE,
- FLAG_FILE_CREATE,
- NULL, ext_alloc_inode[i]);
- up_write(&OCFS_I(ext_alloc_inode[i])->ip_io_sem);
- if (status < 0) {
- LOG_ERROR_STATUS (status);
- goto finally;
- }
- }
- }
-
finally:
if (inode_alloc_inode) {
for (i = 0; i < osb->max_nodes; i++) {
More information about the Ocfs2-commits
mailing list