[Ocfs2-commits] jlbec commits r1212 - trunk/src
svn-commits at oss.oracle.com
svn-commits at oss.oracle.com
Fri Jun 25 15:13:39 CDT 2004
Author: jlbec
Date: 2004-06-25 14:13:37 -0500 (Fri, 25 Jun 2004)
New Revision: 1212
Modified:
trunk/src/alloc.c
trunk/src/dlm.c
trunk/src/file.c
Log:
o More stack + ocfs_read_bhs() cleanups.
Modified: trunk/src/alloc.c
===================================================================
--- trunk/src/alloc.c 2004-06-25 17:50:04 UTC (rev 1211)
+++ trunk/src/alloc.c 2004-06-25 19:13:37 UTC (rev 1212)
@@ -744,7 +744,8 @@
}
memset(eb_bhs, 0, size);
- status = ocfs_read_bhs(osb, physicalOffset,
+ status = ocfs_read_bhs(osb,
+ phys_blkno << osb->sb->s_blocksize_bits,
(u64)new_blocks << osb->sb->s_blocksize_bits,
eb_bhs, OCFS_BH_CACHED, inode);
if (status < 0) {
@@ -781,8 +782,7 @@
eb->h_suballoc_blkno =
(fileOffset >> osb->sb->s_blocksize_bits) + i;
eb->h_suballoc_node = osb->node_num;
- eb->h_blkno =
- (physicalOffset >> osb->sb->s_blocksize_bits) + i;
+ eb->h_blkno = phys_blkno + i;
strcpy(eb->h_signature, OCFS2_EXTENT_BLOCK_SIGNATURE);
el2 = &eb->h_list;
Modified: trunk/src/dlm.c
===================================================================
--- trunk/src/dlm.c 2004-06-25 17:50:04 UTC (rev 1211)
+++ trunk/src/dlm.c 2004-06-25 19:13:37 UTC (rev 1212)
@@ -378,35 +378,38 @@
* ocfs_get_vote_on_disk()
*
*/
-static int ocfs_get_vote_on_disk (ocfs_super * osb, __u64 lock_id, __u32 lock_type, __u32 flags, ocfs_node_map * got_vote_map, ocfs_node_map * vote_map, __u64 lock_seq_num, ocfs_node_map * oin_open_map)
+static int ocfs_get_vote_on_disk(ocfs_super *osb, __u64 lock_id,
+ __u32 lock_type, __u32 flags,
+ ocfs_node_map *got_vote_map,
+ ocfs_node_map *vote_map,
+ __u64 lock_seq_num,
+ ocfs_node_map *oin_open_map)
{
int status = 0;
- __u32 length = 0;
__u32 i;
- __u32 numnodes;
ocfs_vote *vote;
struct buffer_head **bhs = NULL;
LOG_ENTRY_ARGS ("(lockid=%llu, locktype=%u)\n", lock_id, lock_type);
- numnodes = osb->max_nodes;
-
/* Read the vote sectors of all the nodes */
- length = numnodes << osb->sb->s_blocksize_bits;
- bhs = ocfs_malloc(numnodes * sizeof(struct buffer_head *));
+ bhs = ocfs_malloc(osb->max_nodes *
+ sizeof(struct buffer_head *));
if (bhs == NULL) {
LOG_ERROR_STATUS (status = -ENOMEM);
goto finally;
}
- memset(bhs, 0, numnodes * sizeof(struct buffer_head *));
- status = ocfs_read_bhs (osb, osb->vote_blkno << osb->sb->s_blocksize_bits,
- length, bhs, 0, NULL);
+ memset(bhs, 0, osb->max_nodes * sizeof(struct buffer_head *));
+ status = ocfs_read_bhs(osb,
+ osb->vote_blkno << osb->sb->s_blocksize_bits,
+ osb->max_nodes << osb->sb->s_blocksize_bits,
+ bhs, 0, NULL);
if (status < 0) {
LOG_ERROR_STATUS (status);
goto finally;
}
- for (i = 0; i < numnodes; i++) {
+ for (i = 0; i < osb->max_nodes; i++) {
int node_alive = ocfs_node_is_alive(&osb->publ_map, i);
int node_in_map = ocfs_node_is_alive(vote_map, i);
@@ -442,7 +445,7 @@
finally:
if (bhs != NULL) {
- for (i=0; i < numnodes; i++)
+ for (i=0; i < osb->max_nodes; i++)
brelse(bhs[i]);
kfree(bhs);
}
Modified: trunk/src/file.c
===================================================================
--- trunk/src/file.c 2004-06-25 17:50:04 UTC (rev 1211)
+++ trunk/src/file.c 2004-06-25 19:13:37 UTC (rev 1212)
@@ -1120,7 +1120,7 @@
__u32 locktype = OCFS_DLM_ENABLE_CACHE_LOCK;
int have_disk_lock = 0;
u64 block_off;
- __u64 actualLength = 0;
+ u64 num_blocks;
struct buffer_head *bh = NULL;
ocfs_journal_handle *handle = NULL;
int credits;
@@ -1247,26 +1247,30 @@
block_off = ocfs_clusters_to_blocks(osb->sb,
bitmapOffset);
- actualLength = (u64)numClustersAlloc << osb->s_clustersize_bits;
+ num_blocks = ocfs_clusters_to_blocks(osb->sb,
+ numClustersAlloc);
fe = NULL;
if (system_file) {
struct buffer_head **bhs = NULL;
- int numbhs = actualLength >> osb->sb->s_blocksize_bits;
int i;
- bhs = kmalloc(numbhs*sizeof(struct buffer_head *), GFP_KERNEL);
+ bhs = kmalloc(num_blocks *
+ sizeof(struct buffer_head *),
+ GFP_KERNEL);
if (!bhs) {
status = -ENOMEM;
LOG_ERROR_STATUS(status);
goto leave;
}
- memset(bhs, 0, numbhs * sizeof(struct buffer_head *));
+ memset(bhs, 0, num_blocks *
+ sizeof(struct buffer_head *));
status = ocfs_read_bhs(osb,
block_off << osb->sb->s_blocksize_bits,
- actualLength, bhs, 0,
+ (u64)num_blocks << osb->sb->s_blocksize_bits,
+ bhs, 0,
NULL);
if (status < 0) {
kfree(bhs);
@@ -1274,12 +1278,13 @@
goto leave;
}
- for (i = 0; i < numbhs; i++) {
+ for (i = 0; i < num_blocks; i++) {
memset(bhs[i]->b_data, 0, osb->sb->s_blocksize);
}
- status = ocfs_write_bhs(osb, bhs, numbhs, 0, NULL);
- for (i = 0; i < numbhs; i++)
+ status = ocfs_write_bhs(osb, bhs, num_blocks, 0,
+ NULL);
+ for (i = 0; i < num_blocks; i++)
brelse(bhs[i]);
kfree(bhs);
if (status < 0) {
@@ -1292,7 +1297,7 @@
struct super_block *sb = osb->sb;
for (block = block_off;
- block < (block_off + (actualLength >> sb->s_blocksize_bits));
+ block < (block_off + num_blocks);
block++) {
alloc_bh = sb_getblk(sb, block);
if (!alloc_bh) {
@@ -1314,7 +1319,7 @@
ocfs_handle_add_inode(handle, ext_alloc_inode);
status = ocfs_allocate_extent(osb, bh, handle,
block_off,
- actualLength >> osb->s_clustersize_bits,
+ numClustersAlloc,
inode);
if (status < 0) {
LOG_ERROR_STATUS (status);
@@ -1323,8 +1328,7 @@
fe = (ocfs2_dinode *) bh->b_data;
/* update the total allocation size here */
- fe->i_clusters +=
- (u32)(actualLength >> osb->s_clustersize_bits);
+ fe->i_clusters += numClustersAlloc;
down (&(OCFS_I(inode)->ip_sem));
OCFS_I(inode)->ip_alloc_size =
More information about the Ocfs2-commits
mailing list