[Ocfs2-commits] manish commits r1136 - trunk/src
svn-commits at oss.oracle.com
svn-commits at oss.oracle.com
Thu Jun 17 20:55:30 CDT 2004
Author: manish
Date: 2004-06-17 19:55:28 -0500 (Thu, 17 Jun 2004)
New Revision: 1136
Modified:
trunk/src/alloc.c
trunk/src/bitmap.c
trunk/src/buffer_head_io.c
trunk/src/buffer_head_io.h
trunk/src/dir.c
trunk/src/dlm.c
trunk/src/file.c
trunk/src/heartbeat.c
trunk/src/inode.c
trunk/src/journal.c
trunk/src/lockres.c
trunk/src/namei.c
trunk/src/nm.c
trunk/src/super.c
trunk/src/volcfg.c
Log:
Bye bye OCFS_BH_GET_DATA and friends
Modified: trunk/src/alloc.c
===================================================================
--- trunk/src/alloc.c 2004-06-17 22:44:53 UTC (rev 1135)
+++ trunk/src/alloc.c 2004-06-18 00:55:28 UTC (rev 1136)
@@ -401,7 +401,7 @@
goto abort;
}
- bm_lock = OCFS_BH_GET_DATA_WRITE(globalbh);
+ bm_lock = (ocfs2_dinode *) globalbh->b_data;
bm_lock->id1.bitmap1.i_used =
ocfs_count_bits(osb->sb, &osb->cluster_bitmap);
@@ -625,7 +625,6 @@
struct inode *inode)
{
int status = 0;
- __u8 *buff = NULL;
__u32 k, i;
__u32 depth;
int allocSize;
@@ -652,7 +651,7 @@
goto finally;
}
- eb = OCFS_BH_GET_DATA_WRITE(eb_bh);
+ eb = (ocfs2_extent_block *) eb_bh->b_data;
el1 = &eb->h_list;
bh_locked = 1;
}
@@ -705,8 +704,7 @@
goto finally;
}
- buff = OCFS_BH_GET_DATA_WRITE(eb_bhs[i]);
- memset(buff, 0, osb->sb->s_blocksize);
+ memset(eb_bhs[i]->b_data, 0, osb->sb->s_blocksize);
set_buffer_uptodate(eb_bhs[i]);
}
@@ -720,7 +718,7 @@
for (i = 0; i <= depth; i++) {
ocfs2_extent_block *eb;
- eb = OCFS_BH_GET_DATA_WRITE(eb_bhs[i]);
+ eb = (ocfs2_extent_block *) eb_bhs[i]->b_data;
eb->h_parent_blk = parent_blk;
eb->h_suballoc_blkno =
@@ -794,7 +792,7 @@
goto finally;
}
- eb = OCFS_BH_GET_DATA_WRITE(bh);
+ eb = (ocfs2_extent_block *) bh->b_data;
if (!IS_VALID_EXTENT_BLOCK(eb)) {
brelse(bh);
LOG_ERROR_STATUS (status = -EINVAL);
@@ -856,7 +854,6 @@
u64 new_parent_blk = 0;
struct buffer_head **bhs = NULL;
int numbhs = 0;
- void *buf;
ocfs2_dinode *fe = NULL;
LOG_ENTRY_ARGS("(0x%p, 0x%p, %llu, %u\n", osb, fe, blkno,
@@ -895,8 +892,7 @@
LOG_ERROR_STATUS(status);
goto finally;
}
- buf = OCFS_BH_GET_DATA_WRITE(bhs[i]);
- memset(buf, 0, osb->sb->s_blocksize);
+ memset(bhs[i]->b_data, 0, osb->sb->s_blocksize);
set_buffer_uptodate(bhs[i]);
}
@@ -905,7 +901,7 @@
goto finally;
}
- eb1 = OCFS_BH_GET_DATA_WRITE(bhs[0]);
+ eb1 = (ocfs2_extent_block *) bhs[0]->b_data;
/* Copy the File Entry information in to the newly allocated sector */
ebl = &eb1->h_list;
for (k = 0; k < fel->l_count; k++) {
@@ -932,7 +928,7 @@
parent_blk = fe->i_blkno;
for (i = 0; i < fel->l_tree_depth; i++) {
- eb2 = OCFS_BH_GET_DATA_WRITE(bhs[i]);
+ eb2 = (ocfs2_extent_block *) bhs[i]->b_data;
ebl = &eb2->h_list;
ebl->l_tree_depth = (fel->l_tree_depth - 1) - i;
@@ -972,7 +968,7 @@
}
/* Update the Data Segment, which is the last one in our array */
- eb1 = OCFS_BH_GET_DATA_WRITE(bhs[fel->l_tree_depth]);
+ eb1 = (ocfs2_extent_block *) bhs[fel->l_tree_depth]->b_data;
ebl = &eb1->h_list;
i = (fel->l_tree_depth) ? 0 : fel->l_count;
@@ -1030,7 +1026,7 @@
goto finally;
}
- eb1 = OCFS_BH_GET_DATA_WRITE(bh);
+ eb1 = (ocfs2_extent_block *) bh->b_data;
if (!IS_VALID_EXTENT_BLOCK(eb1) ||
(eb1->h_list.l_tree_depth != -1)) {
brelse(bh);
@@ -1072,7 +1068,7 @@
goto finally;
}
- eb1 = OCFS_BH_GET_DATA_WRITE(bh);
+ eb1 = (ocfs2_extent_block *) bh->b_data;
eb1->h_parent_blk = new_parent_blk;
status = ocfs_journal_dirty(handle, bh);
@@ -1128,7 +1124,7 @@
LOG_ENTRY_ARGS("(blkno=%llu, new_clusters=%u, inode=%llu)\n", blkno, new_clusters,
GET_INODE_FEOFF(inode));
- fe = OCFS_BH_GET_DATA_WRITE(fe_bh);
+ fe = (ocfs2_dinode *) fe_bh->b_data;
OCFS_ASSERT(fe);
if (!IS_VALID_FILE_ENTRY (fe)) {
@@ -1188,7 +1184,7 @@
LOG_ERROR_STATUS (status = -EINVAL);
goto finally;
}
- eb1 = OCFS_BH_GET_DATA_WRITE(eb1_bh);
+ eb1 = (ocfs2_extent_block *) eb1_bh->b_data;
el1 = &eb1->h_list;
if (!IS_VALID_EXTENT_BLOCK(eb1) ||
(el1->l_tree_depth != -1)) {
@@ -1212,7 +1208,7 @@
goto finally;
}
- eb1 = OCFS_BH_GET_DATA_WRITE(eb1_bh);
+ eb1 = (ocfs2_extent_block *) eb1_bh->b_data;
el1 = &eb1->h_list;
el1->l_recs[k].e_clusters += new_clusters;
@@ -1233,7 +1229,7 @@
goto finally;
}
- eb1 = OCFS_BH_GET_DATA_WRITE(eb1_bh);
+ eb1 = (ocfs2_extent_block *) eb1_bh->b_data;
el1 = &eb1->h_list;
el1->l_recs[k].e_cpos = fe->i_clusters;
@@ -1268,7 +1264,7 @@
LOG_ERROR_STATUS (status);
goto finally;
}
- eb2 = OCFS_BH_GET_DATA_READ(eb2_bh);
+ eb2 = (ocfs2_extent_block *) eb2_bh->b_data;
el2 = &eb2->h_list;
if (!IS_VALID_EXTENT_BLOCK(eb2) ||
(el2->l_tree_depth < 0)) {
@@ -1322,7 +1318,7 @@
goto finally;
}
- eb1 = OCFS_BH_GET_DATA_WRITE(eb1_bh);
+ eb1 = (ocfs2_extent_block *) eb1_bh->b_data;
eb1->h_next_leaf_blk = fe->i_last_eb_blk = new_eb_blkno;
}
@@ -1370,7 +1366,7 @@
goto finally;
}
- eb2 = OCFS_BH_GET_DATA_WRITE(eb2_bh);
+ eb2 = (ocfs2_extent_block *) eb2_bh->b_data;
el2 = &eb2->h_list;
if (!IS_VALID_EXTENT_BLOCK(eb2) ||
(el2->l_tree_depth < 0)) {
@@ -1441,7 +1437,7 @@
* mapping run.So just adding this entry will be
* fine. */
if (fe == NULL)
- fe = OCFS_BH_GET_DATA_READ(fe_bh);
+ fe = (ocfs2_dinode *) fe_bh->b_data;
Vbo = (u64)fe->i_clusters << osb->s_clustersize_bits;
Lbo = blkno << osb->sb->s_blocksize_bits;
@@ -1597,8 +1593,7 @@
stack[i] = NULL;
stack[tos] = kmalloc(osb->sb->s_blocksize, GFP_KERNEL);
- memcpy(stack[tos], OCFS_BH_GET_DATA_READ(extent_grp_bh),
- osb->sb->s_blocksize);
+ memcpy(stack[tos], extent_grp_bh->b_data, osb->sb->s_blocksize);
do {
cur_eb = (ocfs2_extent_block *) stack[tos];
@@ -1663,8 +1658,7 @@
goto bail;
}
- memcpy(stack[tos],
- OCFS_BH_GET_DATA_READ(tmp_bh),
+ memcpy(stack[tos], tmp_bh->b_data,
osb->sb->s_blocksize);
brelse(tmp_bh);
tmp_bh = NULL;
@@ -1718,7 +1712,7 @@
goto bail;
}
- eb = OCFS_BH_GET_DATA_WRITE(eb_bh);
+ eb = (ocfs2_extent_block *) eb_bh->b_data;
if (!IS_VALID_EXTENT_BLOCK(eb)) {
LOG_ERROR_STR("Invalid extent block!");
@@ -1786,7 +1780,7 @@
LOG_ERROR_STATUS(status);
goto bail;
}
- eb = OCFS_BH_GET_DATA_WRITE(eb_bh);
+ eb = (ocfs2_extent_block *) eb_bh->b_data;
el = &eb->h_list;
for (i = (el->l_next_free_rec - 1); i >= 0; i--) {
rec = &el->l_recs[i];
@@ -1864,7 +1858,7 @@
goto bail;
}
- eb = OCFS_BH_GET_DATA_WRITE(eb_bh);
+ eb = (ocfs2_extent_block *) eb_bh->b_data;
el = &eb->h_list;
for(i = (el->l_next_free_rec - 1); i >= 0; i--) {
rec = &el->l_recs[i];
@@ -1952,7 +1946,7 @@
goto bail;
}
- alloc_eb = OCFS_BH_GET_DATA_WRITE(bh_stack[tos]);
+ alloc_eb = (ocfs2_extent_block *) bh_stack[tos]->b_data;
if (!IS_VALID_EXTENT_BLOCK(alloc_eb)) {
LOG_ERROR_STR("Invalid extent block!");
goto bail;
@@ -1978,7 +1972,7 @@
goto bail;
}
/* silly, but what to do? */
- alloc_eb = OCFS_BH_GET_DATA_READ(bh_stack[tos]);
+ alloc_eb = (ocfs2_extent_block *) bh_stack[tos]->b_data;
} else {
/* Alright, we know for sure that
* we're splitting in this guy. */
@@ -2078,7 +2072,7 @@
goto bail;
}
- alloc_eb = OCFS_BH_GET_DATA_WRITE(bh_stack[tos]);
+ alloc_eb = (ocfs2_extent_block *) bh_stack[tos]->b_data;
el = &alloc_eb->h_list;
victim = el->l_next_free_rec;
el->l_next_free_rec++;
@@ -2160,7 +2154,7 @@
goto bail;
}
- alloc_eb = OCFS_BH_GET_DATA_WRITE(bh_stack[tos]);
+ alloc_eb = (ocfs2_extent_block *) bh_stack[tos]->b_data;
el = &alloc_eb->h_list;
victim = el->l_next_free_rec;
@@ -2321,7 +2315,7 @@
goto bail;
}
- eb = OCFS_BH_GET_DATA_READ(eb_bh);
+ eb = (ocfs2_extent_block *) eb_bh->b_data;
if (!IS_VALID_EXTENT_BLOCK(eb)) {
LOG_ERROR_STR("Invalid extent block!");
@@ -2352,7 +2346,7 @@
LOG_ERROR_STATUS(status);
goto bail;
}
- eb = OCFS_BH_GET_DATA_READ(eb_bh);
+ eb = (ocfs2_extent_block *) eb_bh->b_data;
}
fe->i_last_eb_blk = eb->h_blkno;
@@ -2590,7 +2584,7 @@
goto finally;
}
- fe = OCFS_BH_GET_DATA_READ(fe_bh);
+ fe = (ocfs2_dinode *) fe_bh->b_data;
if (!IS_VALID_FILE_ENTRY (fe)) {
LOG_ERROR_STATUS (status = -EINVAL);
@@ -2628,7 +2622,7 @@
goto finally;
}
- eb = OCFS_BH_GET_DATA_READ(eb_bh);
+ eb = (ocfs2_extent_block *) eb_bh->b_data;
while (1) {
if (!locked)
down(&(OCFS_I(inode)->priv_sem));
@@ -2671,7 +2665,7 @@
LOG_ERROR_STATUS(status);
goto finally;
}
- eb = OCFS_BH_GET_DATA_READ(eb_bh);
+ eb = (ocfs2_extent_block *) eb_bh->b_data;
if (!IS_VALID_EXTENT_BLOCK(eb) ||
(eb->h_list.l_tree_depth != -1)) {
LOG_ERROR_STATUS (status = -EINVAL);
@@ -2756,7 +2750,7 @@
goto finally;
}
- eb = OCFS_BH_GET_DATA_READ(ext_bh);
+ eb = (ocfs2_extent_block *) ext_bh->b_data;
if (!IS_VALID_EXTENT_BLOCK(eb)) {
LOG_ERROR_STATUS (status = -EINVAL);
goto finally;
@@ -2789,7 +2783,7 @@
goto finally;
}
- tmp = OCFS_BH_GET_DATA_READ(*data_extent_bh);
+ tmp = (ocfs2_extent_block *) (*data_extent_bh)->b_data;
if (!IS_VALID_EXTENT_BLOCK(tmp) ||
(tmp->h_list.l_tree_depth != -1)) {
LOG_ERROR_STATUS (status = -EINVAL);
@@ -2886,7 +2880,7 @@
goto leave;
}
- bm_lock = OCFS_BH_GET_DATA_WRITE(bh);
+ bm_lock = (ocfs2_dinode *) bh->b_data;
ClusterCount = (__u32) ((__u64) (file_size + (osb->s_clustersize-1)) >>
osb->s_clustersize_bits);
@@ -3101,7 +3095,7 @@
/* Read in the bitmap file for the alloc and look for the
* required space, if found */
- fe = OCFS_BH_GET_DATA_READ(bh);
+ fe = (ocfs2_dinode *) bh->b_data;
prevFileSize = fileSize = fe->i_size;
allocSize = (u64)fe->i_clusters << osb->s_clustersize_bits;
@@ -3138,7 +3132,7 @@
goto leave;
}
- alloc_fe = OCFS_BH_GET_DATA_READ(alloc_bh);
+ alloc_fe = (ocfs2_dinode *) alloc_bh->b_data;
newFileSize = alloc_fe->i_size;
allocSize = (u64)alloc_fe->i_clusters << osb->s_clustersize_bits;
if (newFileSize != alloc_inode->i_size ||
@@ -3184,7 +3178,7 @@
LOG_ERROR_STATUS (status);
goto leave;
}
- fe = OCFS_BH_GET_DATA_READ(bh);
+ fe = (ocfs2_dinode *) bh->b_data;
/* we wrote it back out in ocfs_extend_system_file so
* we can trust the sizes here */
fileSize = fe->i_size;
@@ -3279,20 +3273,20 @@
ocfs2_extent_block *extent = NULL;
struct buffer_head *extent_bh = NULL;
ocfs2_extent_list *fel;
- ocfs2_dinode *fe = NULL;
+ ocfs2_dinode *fe;
__u64 offset;
LOG_ENTRY ();
offset = GET_INODE_FEOFF(inode);
- fe = OCFS_BH_GET_DATA_READ(fe_bh);
+ fe = (ocfs2_dinode *) fe_bh->b_data;
if (offset != (fe->i_blkno << osb->sb->s_blocksize_bits))
BUG();
if (inode)
SET_BH_SEQNUM(inode, fe_bh);
- fe = OCFS_BH_GET_DATA_READ(fe_bh);
+ fe = (ocfs2_dinode *) fe_bh->b_data;
fel = &fe->id2.i_list;
if (fel->l_tree_depth < 0) {
@@ -3318,7 +3312,7 @@
LOG_ERROR_STATUS (status);
goto leave;
}
- extent = OCFS_BH_GET_DATA_READ(extent_bh);
+ extent = (ocfs2_extent_block *) extent_bh->b_data;
if (fel->l_tree_depth &&
!IS_VALID_EXTENT_BLOCK(extent)) {
status = -EINVAL;
@@ -3537,7 +3531,7 @@
if (!local_alloc_bh)
BUG();
- alloc = OCFS_BH_GET_DATA_READ(local_alloc_bh);
+ alloc = (ocfs2_dinode *) local_alloc_bh->b_data;
if (LOCAL_ALLOC(alloc)->la_bm_bits == 0) {
LOG_TRACE_STR("nothing to sync!");
goto bail;
@@ -3551,7 +3545,7 @@
}
}
- alloc = OCFS_BH_GET_DATA_READ(local_alloc_bh);
+ alloc = (ocfs2_dinode *) local_alloc_bh->b_data;
LOG_TRACE_ARGS("alloc->la_bm_bits = %u, COUNT = %u, la_bits_set = %u\n",
LOCAL_ALLOC(alloc)->la_bm_bits,
@@ -3601,7 +3595,7 @@
LOG_ENTRY();
- alloc = OCFS_BH_GET_DATA_READ(osb->local_alloc_bh);
+ alloc = (ocfs2_dinode *) osb->local_alloc_bh->b_data;
if (LOCAL_ALLOC(alloc)->la_bm_bits != 0)
LOG_TRACE_STR("asking me to alloc a new window over a"
" non-empty one");
@@ -3623,7 +3617,7 @@
}
atomic_inc(&osb->alloc_stats.bitmap_data);
- alloc = OCFS_BH_GET_DATA_WRITE(osb->local_alloc_bh);
+ alloc = (ocfs2_dinode *) osb->local_alloc_bh->b_data;
LOCAL_ALLOC(alloc)->la_bm_off = cluster_off;
LOCAL_ALLOC(alloc)->la_bm_bits = cluster_count;
@@ -3735,7 +3729,7 @@
goto bail;
}
- alloc = OCFS_BH_GET_DATA_WRITE(osb->local_alloc_bh);
+ alloc = (ocfs2_dinode *) osb->local_alloc_bh->b_data;
tryagain:
/* If we need to initialize a new window, do so now. */
if (LOCAL_ALLOC(alloc)->la_bm_bits == 0) {
@@ -3765,7 +3759,7 @@
goto bail;
}
atomic_inc(&osb->alloc_stats.moves);
- alloc = OCFS_BH_GET_DATA_WRITE(osb->local_alloc_bh);
+ alloc = (ocfs2_dinode *) osb->local_alloc_bh->b_data;
}
/* Alright, try to satisfy the request. */
@@ -3805,7 +3799,7 @@
main_bm_bh, main_bm_inode, 1);
- alloc = OCFS_BH_GET_DATA_WRITE(osb->local_alloc_bh);
+ alloc = (ocfs2_dinode *) osb->local_alloc_bh->b_data;
status = ocfs_sync_local_to_main(osb, handle, alloc,
main_bm_inode);
@@ -3816,9 +3810,7 @@
ocfs_clear_local_alloc(alloc);
- alloc = NULL;
-
- alloc = OCFS_BH_GET_DATA_WRITE(osb->local_alloc_bh);
+ alloc = (ocfs2_dinode *) osb->local_alloc_bh->b_data;
goto tryagain;
}
@@ -3969,7 +3961,7 @@
goto bail;
}
- alloc = OCFS_BH_GET_DATA_READ(alloc_bh);
+ alloc = (ocfs2_dinode *) alloc_bh->b_data;
/* do a little verification. */
num_used = ocfs_alloc_count_bits(alloc);
@@ -4039,7 +4031,7 @@
f = NULL;
}
- alloc = OCFS_BH_GET_DATA_WRITE(bh);
+ alloc = (ocfs2_dinode *) bh->b_data;
ocfs_clear_local_alloc(alloc);
if (sync) {
Modified: trunk/src/bitmap.c
===================================================================
--- trunk/src/bitmap.c 2004-06-17 22:44:53 UTC (rev 1135)
+++ trunk/src/bitmap.c 2004-06-18 00:55:28 UTC (rev 1136)
@@ -197,7 +197,7 @@
globalsize, bitmap->validbits, sysonly);*/
/*LOG_TRACE_ARGS("before loop: c=%u, lastbh=%u, size=%u, "
"localstart=%u\n", c, lastbh, size, localstart);*/
- buffer = OCFS_BH_GET_DATA_READ(currbh);
+ buffer = currbh->b_data;
while ((bitoff = find_next_zero_bit(buffer,
OCFS_BITS_IN_CHUNK(osb->sb),
@@ -227,7 +227,7 @@
localstart = bitoff = 0;
c++;
currbh = bitmap->chunk[c];
- buffer = OCFS_BH_GET_DATA_READ(currbh);
+ buffer = currbh->b_data;
if (c == lastbh)
size = globalsize -
(OCFS_BITS_IN_CHUNK(osb->sb)
@@ -304,7 +304,7 @@
for (i = 0; size > 0; size -= validbytes, i++) {
currbh = bitmap->chunk[i];
- buffer = OCFS_BH_GET_DATA_READ(currbh);
+ buffer = currbh->b_data;
for (j = 0; j < validbytes; j++) {
/* U-U-U-GLY */
memcpy(&tmp, buffer, 1);
@@ -351,7 +351,7 @@
goto bail;
}
- buff = OCFS_BH_GET_DATA_WRITE(currbh);
+ buff = currbh->b_data;
while (num--) {
set_bit (local++, buff);
@@ -372,7 +372,7 @@
LOG_ERROR_STATUS(status);
goto bail;
}
- buff = OCFS_BH_GET_DATA_WRITE(currbh);
+ buff = currbh->b_data;
}
}
@@ -418,7 +418,7 @@
goto bail;
}
- buff = OCFS_BH_GET_DATA_WRITE(currbh);
+ buff = currbh->b_data;
while (num--) {
clear_bit (local, buff);
@@ -445,7 +445,7 @@
goto bail;
}
- buff = OCFS_BH_GET_DATA_WRITE(currbh);
+ buff = currbh->b_data;
}
}
Modified: trunk/src/buffer_head_io.c
===================================================================
--- trunk/src/buffer_head_io.c 2004-06-17 22:44:53 UTC (rev 1135)
+++ trunk/src/buffer_head_io.c 2004-06-18 00:55:28 UTC (rev 1136)
@@ -248,9 +248,6 @@
bh = bhs[i];
ignore_cache = 0;
- /* Lock everyone else out of this bh */
- OCFS_BH_GET_DATA_READ(bh);
-
if (flags & OCFS_BH_CACHED && inode &&
!TEST_BH_SEQNUM(inode, bh)) {
#ifdef VERBOSE_BH_SEQNUM_TRACE
Modified: trunk/src/buffer_head_io.h
===================================================================
--- trunk/src/buffer_head_io.h 2004-06-17 22:44:53 UTC (rev 1135)
+++ trunk/src/buffer_head_io.h 2004-06-18 00:55:28 UTC (rev 1136)
@@ -95,11 +95,6 @@
#endif /* 2.4.x kernel */
-#define OCFS_BH_GET_DATA(bh) ((void *) ((bh)->b_data))
-#define OCFS_BH_GET_DATA_READ(bh) OCFS_BH_GET_DATA(bh)
-#define OCFS_BH_GET_DATA_WRITE(bh) OCFS_BH_GET_DATA(bh)
-#define OCFS_BH_GET_DATA_WRITE_TRYLOCK(bh) OCFS_BH_GET_DATA(bh)
-
#define STATE_BH_BITS 8
#define USED_BH_BITS 23 /* Number of BH bits used up through JBD */
@@ -136,7 +131,7 @@
static inline int check_block_zero_write(struct buffer_head *bh)
{
if (unlikely(bh->b_blocknr == 0)) {
- ocfs_vol_disk_hdr *hdr = OCFS_BH_GET_DATA_READ(bh);
+ ocfs_vol_disk_hdr *hdr = (ocfs_vol_disk_hdr *) bh->b_data;
if (hdr == NULL) {
printk ("ocfs2: failed to map bh page!!!\n");
Modified: trunk/src/dir.c
===================================================================
--- trunk/src/dir.c 2004-06-17 22:44:53 UTC (rev 1135)
+++ trunk/src/dir.c 2004-06-18 00:55:28 UTC (rev 1136)
@@ -77,7 +77,7 @@
int err;
struct inode *inode = filp->f_dentry->d_inode;
struct super_block * sb = inode->i_sb;
- char *buf = NULL;
+ int we_are_brown = 0;
LOG_ENTRY_ARGS("dirino=%llu\n", GET_INODE_FEOFF(inode));
@@ -106,13 +106,14 @@
}
}
- if (buf) {
+#warning possible brown stain
+ if (we_are_brown) {
#warning take this out later
LOG_ERROR_ARGS("uhoh! buf not null... block=%llu\n",
(unsigned long long)bh->b_blocknr);
BUG();
}
- buf = OCFS_BH_GET_DATA_READ(bh);
+ we_are_brown = 1;
revalidate:
/* If the dir block has changed since the last call to
* readdir(2), then we might be pointing to an invalid
@@ -274,7 +275,7 @@
return 1;
}
- de = (struct ocfs2_dir_entry *) OCFS_BH_GET_DATA_READ(bh);
+ de = (struct ocfs2_dir_entry *) bh->b_data;
de1 = (struct ocfs2_dir_entry *)
((char *) de + le16_to_cpu(de->rec_len));
if (le64_to_cpu(de->inode) != GET_INODE_FEOFF(inode) ||
@@ -299,7 +300,7 @@
offset += sb->s_blocksize;
continue;
}
- de = (struct ocfs2_dir_entry *) OCFS_BH_GET_DATA_READ(bh);
+ de = (struct ocfs2_dir_entry *) bh->b_data;
}
if (!ocfs_check_dir_entry (inode, de, bh, offset)) {
brelse (bh);
Modified: trunk/src/dlm.c
===================================================================
--- trunk/src/dlm.c 2004-06-17 22:44:53 UTC (rev 1135)
+++ trunk/src/dlm.c 2004-06-18 00:55:28 UTC (rev 1136)
@@ -138,7 +138,7 @@
}
for (i = 0; i < numnodes; i++) {
- pubsect = OCFS_BH_GET_DATA_READ(bhs[i]);
+ pubsect = (ocfs_publish *) bhs[i]->b_data;
if (pubsect->time == (__u64) 0 || pubsect->publ_seq_num <= largestseqno) {
continue;
}
@@ -164,7 +164,7 @@
/* Increment the largest sequence number by one & */
/* write it in its own Publish Sector and set the Dirty Bit */
- pubsect = OCFS_BH_GET_DATA_WRITE(bhs[osb->node_num]);
+ pubsect = (ocfs_publish *) bhs[osb->node_num]->b_data;
largestseqno++;
LOG_TRACE_ARGS ("largestseqno : %llu\n", largestseqno);
osb->publish_dirty = 1;
@@ -242,7 +242,7 @@
LOG_ERROR_STATUS (status = tmpstat);
goto finally;
}
- fe = OCFS_BH_GET_DATA_READ(bh);
+ fe = (ocfs2_dinode *) bh->b_data;
curr_master = DISK_LOCK(fe)->dl_master;
lock_level = DISK_LOCK(fe)->dl_level;
@@ -255,7 +255,6 @@
(!ocfs_node_is_recovering(osb, curr_master))) {
/* Reset the lock as not owned and return success?? */
/* This needs to be under some sort of cluster wide lock, */
- fe = OCFS_BH_GET_DATA_WRITE(bh);
DISK_LOCK(fe)->dl_master = OCFS_INVALID_NODE_NUM;
DISK_LOCK(fe)->dl_level = OCFS_DLM_NO_LOCK;
tmpstat = ocfs_write_bh (osb, bh, 0, NULL);
@@ -333,7 +332,7 @@
goto finally;
}
LOG_TRACE_ARGS("broke cache lock, setting to NO_LOCK\n");
- fe = OCFS_BH_GET_DATA_WRITE(bh);
+ fe = (ocfs2_dinode *) bh->b_data;
DISK_LOCK(fe)->dl_level = OCFS_DLM_NO_LOCK;
lock_level = OCFS_DLM_NO_LOCK;
tmpstat = ocfs_write_bh (osb, bh, 0, inode);
@@ -409,7 +408,7 @@
int node_in_map = ocfs_node_is_alive(vote_map, i);
status = 0;
- vote = OCFS_BH_GET_DATA_READ(bhs[i]);
+ vote = (ocfs_vote *) bhs[i]->b_data;
/* A node we were asking to vote is dead */
if (!node_alive) {
@@ -529,7 +528,7 @@
LOG_ERROR_STATUS (status);
goto finally;
}
- pubsect = OCFS_BH_GET_DATA_WRITE(bh);
+ pubsect = (ocfs_publish *) bh->b_data;
pubsect->dirty = 0;
pubsect->vote = 0;
@@ -590,12 +589,12 @@
}
}
- fe = OCFS_BH_GET_DATA_READ(*bh);
+ fe = (ocfs2_dinode *) (*bh)->b_data;
if (flags & DLOCK_FLAG_MASTER &&
DISK_LOCK(fe)->dl_master != lockres->master_node_num) {
if (!changed) {
- fe = OCFS_BH_GET_DATA_WRITE(*bh);
+ fe = (ocfs2_dinode *) (*bh)->b_data;
}
changed = 1;
DISK_LOCK(fe)->dl_master = lockres->master_node_num;
@@ -604,7 +603,7 @@
if (flags & DLOCK_FLAG_LOCK &&
DISK_LOCK(fe)->dl_level != lockres->lock_type) {
if (!changed) {
- fe = OCFS_BH_GET_DATA_WRITE(*bh);
+ fe = (ocfs2_dinode *) (*bh)->b_data;
}
changed = 1;
DISK_LOCK(fe)->dl_level = lockres->lock_type;
@@ -621,7 +620,7 @@
if (!ocfs_node_map_is_equal(&disk_map, &lockres->oin_openmap)) {
if (!changed) {
- fe = OCFS_BH_GET_DATA_WRITE(*bh);
+ fe = (ocfs2_dinode *) (*bh)->b_data;
}
changed = 1;
ocfs_set_disk_lock_open_map(osb, DISK_LOCK(fe), &lockres->oin_openmap);
@@ -631,7 +630,7 @@
if (flags & DLOCK_FLAG_SEQ_NUM &&
DISK_LOCK(fe)->dl_seq_num != lockres->last_upd_seq_num) {
if (!changed) {
- fe = OCFS_BH_GET_DATA_WRITE(*bh);
+ fe = (ocfs2_dinode *) (*bh)->b_data;
}
changed = 1;
DISK_LOCK(fe)->dl_seq_num = lockres->last_upd_seq_num;
@@ -809,7 +808,7 @@
LOG_ERROR_STATUS (status);
goto finally;
}
- disklock = OCFS_BH_GET_DATA_READ(*b);
+ disklock = (ocfs2_dinode *) (*b)->b_data;
if (!IS_VALID_FILE_ENTRY(disklock))
BUG();
@@ -1025,7 +1024,7 @@
goto finito;
}
}
- fe = OCFS_BH_GET_DATA_READ(*b);
+ fe = (ocfs2_dinode *) (*b)->b_data;
#if 0
ocfs_node_map_init(osb, &openmap);
ocfs_get_disk_lock_open_map(osb, DISK_LOCK(fe), &openmap);
@@ -1112,7 +1111,7 @@
}
finally:
- fe = OCFS_BH_GET_DATA_WRITE(*b);
+ fe = (ocfs2_dinode *) (*b)->b_data;
LOG_TRACE_ARGS("writing lock now... releasemaster: %s, level: %d, master: %d\n",
flags & FLAG_FILE_RELEASE_MASTER ? "yes" : "no",
@@ -1279,7 +1278,7 @@
need_to_zap_buffers = 1;
} else {
if (bh) {
- fe = OCFS_BH_GET_DATA_READ(bh);
+ fe = (ocfs2_dinode *) bh->b_data;
/* may not need to rewrite the lock later if we already have a cachelock */
need_lock_write = (DISK_LOCK(fe)->dl_master != osb->node_num ||
DISK_LOCK(fe)->dl_level != OCFS_DLM_ENABLE_CACHE_LOCK);
@@ -1393,7 +1392,7 @@
/* pick up any change to the open map */
if (bh) {
- fe = OCFS_BH_GET_DATA_READ(bh);
+ fe = (ocfs2_dinode *) bh->b_data;
ocfs_get_disk_lock_open_map(osb, DISK_LOCK(fe),
&lockres->oin_openmap);
}
Modified: trunk/src/file.c
===================================================================
--- trunk/src/file.c 2004-06-17 22:44:53 UTC (rev 1135)
+++ trunk/src/file.c 2004-06-18 00:55:28 UTC (rev 1136)
@@ -110,7 +110,7 @@
if (handle)
local_handle = 0;
- fe = OCFS_BH_GET_DATA_READ(fe_bh);
+ fe = (ocfs2_dinode *) fe_bh->b_data;
if (!IS_VALID_FILE_ENTRY(fe)) {
status = -EINVAL;
LOG_ERROR_STATUS(status);
@@ -460,7 +460,7 @@
}
while (1) {
- eb = OCFS_BH_GET_DATA_READ(eb_bh);
+ eb = (ocfs2_extent_block *) eb_bh->b_data;
el = &eb->h_list;
if (!IS_VALID_EXTENT_BLOCK(eb) ||
@@ -575,7 +575,7 @@
goto leave;
}
- fileEntry = OCFS_BH_GET_DATA_READ(bh);
+ fileEntry = (ocfs2_dinode *) bh->b_data;
if (!IS_VALID_FILE_ENTRY(fileEntry)) {
LOG_ERROR_ARGS ("Invalid fe at offset %llu", file_off);
@@ -617,7 +617,7 @@
goto leave;
}
- fileEntry = OCFS_BH_GET_DATA_WRITE(bh);
+ fileEntry = (ocfs2_dinode *) bh->b_data;
fileEntry->i_mtime = OCFS_CURRENT_TIME;
@@ -933,7 +933,7 @@
goto leave;
}
- fe = OCFS_BH_GET_DATA_READ(bh);
+ fe = (ocfs2_dinode *) bh->b_data;
if (!IS_VALID_FILE_ENTRY(fe)) {
LOG_ERROR_ARGS ("Invalid fe at offset %llu", file_off);
status = -EFAIL;
@@ -966,7 +966,7 @@
down(&OCFS_I(inode)->priv_sem);
- fe = OCFS_BH_GET_DATA_WRITE(bh);
+ fe = (ocfs2_dinode *) bh->b_data;
/* the file entry might have changed underneath us (while
* waiting on the lock). make sure the size is still a valid
@@ -1079,7 +1079,7 @@
}
}
- fe = OCFS_BH_GET_DATA_READ(bh);
+ fe = (ocfs2_dinode *) bh->b_data;
if (!IS_VALID_FILE_ENTRY(fe)) {
printk("fe->signature=%8s\n", fe->i_signature);
@@ -1111,7 +1111,7 @@
/* Grab a lock on the entry found if we have more than
* 1 extents and also make this node the master*/
- fe = OCFS_BH_GET_DATA_READ(bh);
+ fe = (ocfs2_dinode *) bh->b_data;
/* now we always take an EXTEND lock */
lockFlags = FLAG_FILE_EXTEND;
@@ -1136,7 +1136,7 @@
goto leave;
}
- fe = OCFS_BH_GET_DATA_WRITE(bh);
+ fe = (ocfs2_dinode *) bh->b_data;
if (file_size > (__s64)current_alloc) {
alloc_size = file_size - current_alloc;
@@ -1185,7 +1185,6 @@
struct buffer_head **bhs = NULL;
int numbhs = actualLength >> osb->sb->s_blocksize_bits;
int i;
- char *data;
bhs = kmalloc(numbhs*sizeof(struct buffer_head *), GFP_KERNEL);
if (!bhs) {
@@ -1203,13 +1202,12 @@
goto leave;
}
- for(i = 0; i < numbhs; i++) {
- data = OCFS_BH_GET_DATA_WRITE(bhs[i]);
- memset(data, 0, osb->sb->s_blocksize);
+ for (i = 0; i < numbhs; 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++)
+ for (i = 0; i < numbhs; i++)
brelse(bhs[i]);
kfree(bhs);
if (status < 0) {
@@ -1250,7 +1248,7 @@
LOG_ERROR_STATUS (status);
goto leave;
}
- fe = OCFS_BH_GET_DATA_WRITE(bh);
+ fe = (ocfs2_dinode *) bh->b_data;
/* update the total allocation size here */
fe->i_clusters +=
Modified: trunk/src/heartbeat.c
===================================================================
--- trunk/src/heartbeat.c 2004-06-17 22:44:53 UTC (rev 1135)
+++ trunk/src/heartbeat.c 2004-06-18 00:55:28 UTC (rev 1136)
@@ -83,7 +83,7 @@
}
}
- publish = OCFS_BH_GET_DATA_WRITE(*pub_bh);
+ publish = (ocfs_publish *) (*pub_bh)->b_data;
if ((publish->dirty) && (!osb->publish_dirty)) {
LOG_TRACE_STR(("NMThread reads the bit as dirty"));
publish->dirty = 0;
@@ -145,14 +145,14 @@
if (first_time) {
#if !defined(USERSPACE_TOOL)
/* Read the last comm_seq_num */
- publish = OCFS_BH_GET_DATA_READ(bhs[osb->node_num]);
+ publish = (ocfs_publish *) bhs[osb->node_num]->b_data;
spin_lock (&OcfsGlobalCtxt.comm_seq_lock);
OcfsGlobalCtxt.comm_seq_num = publish->comm_seq_num + 10;
spin_unlock (&OcfsGlobalCtxt.comm_seq_lock);
#endif
/* Refresh local buffers */
for (i = 0; i < num_nodes; i++) {
- publish = OCFS_BH_GET_DATA_READ(bhs[i]);
+ publish = (ocfs_publish *) bhs[i]->b_data;
node_map[i].time = publish->time;
if (publish->mounted && i != osb->node_num) {
printk("ocfs2: Adding %s (node %d) to "
@@ -168,7 +168,7 @@
}
for (i = 0; i < num_nodes; i++) {
- publish = OCFS_BH_GET_DATA_READ(bhs[i]);
+ publish = (ocfs_publish *) bhs[i]->b_data;
/* Loop if slot is unused */
if (publish->time == 0ULL)
Modified: trunk/src/inode.c
===================================================================
--- trunk/src/inode.c 2004-06-17 22:44:53 UTC (rev 1135)
+++ trunk/src/inode.c 2004-06-18 00:55:28 UTC (rev 1136)
@@ -533,7 +533,7 @@
goto bail;
}
- fe = OCFS_BH_GET_DATA_READ(bh);
+ fe = (ocfs2_dinode *) bh->b_data;
sysfile = le32_to_cpu(fe->i_flags) & OCFS2_SYSTEM_FL;
if (S_ISCHR(fe->i_mode) || S_ISBLK(fe->i_mode))
inode->i_rdev = huge_decode_dev(le64_to_cpu(fe->id1.dev1.i_rdev));
@@ -728,7 +728,7 @@
release_disk_lock = 1;
/* check OCFS_SYNC_FLAG_ORPHANED */
- fe = OCFS_BH_GET_DATA_READ(fe_bh);
+ fe = (ocfs2_dinode *) fe_bh->b_data;
if (!(fe->i_flags & OCFS2_ORPHANED_FL)) {
/* for lack of a better error? */
status = -EEXIST;
@@ -753,7 +753,7 @@
goto bail_locked;
}
- fe = OCFS_BH_GET_DATA_WRITE(fe_bh);
+ fe = (ocfs2_dinode *) fe_bh->b_data;
fe->i_dtime = OCFS_CURRENT_TIME;
fe->i_flags &= (~(OCFS2_VALID_FL | OCFS2_ORPHANED_FL));
@@ -966,7 +966,7 @@
LOG_ERROR_STATUS (status);
goto bail;
}
- fe = OCFS_BH_GET_DATA_READ(bh);
+ fe = (ocfs2_dinode *) bh->b_data;
if (!IS_VALID_FILE_ENTRY(fe)) {
LOG_ERROR_ARGS ("Invalid fe at offset %llu", entryOffset);
@@ -1003,7 +1003,6 @@
ocfs_super *osb;
__s64 vbo, lbo;
int readflags = OCFS_BH_CACHED;
- char *buf;
osb = OCFS_SB(inode->i_sb);
vbo = (__s64) block << inode->i_sb->s_blocksize_bits;
@@ -1072,8 +1071,7 @@
if (fatal)
goto fail;
- buf = OCFS_BH_GET_DATA_WRITE(bh);
- memset(buf, 0, osb->sb->s_blocksize);
+ memset(bh->b_data, 0, osb->sb->s_blocksize);
fatal = ocfs_journal_dirty(handle, bh);
if (fatal)
goto fail;
@@ -1979,7 +1977,7 @@
down(&OCFS_I(inode)->priv_sem);
drop_priv_sem = 1;
- fe = OCFS_BH_GET_DATA_READ(fe_bh);
+ fe = (ocfs2_dinode *) fe_bh->b_data;
/* Make sure that what we found is not a directory. */
if ((OCFS_I(inode)->oin_flags & OCFS_OIN_DIRECTORY))
Modified: trunk/src/journal.c
===================================================================
--- trunk/src/journal.c 2004-06-17 22:44:53 UTC (rev 1135)
+++ trunk/src/journal.c 2004-06-18 00:55:28 UTC (rev 1136)
@@ -547,7 +547,7 @@
LOG_TRACE_ARGS("Aborting block %lu, forget=%u\n", co->blocknr,
co->forget);
- data = OCFS_BH_GET_DATA_WRITE(bh);
+ data = bh->b_data;
if (co->forget) {
/* journal_forget will perform a brelse for us */
get_bh(bh);
@@ -636,8 +636,7 @@
*/
int ocfs_journal_access(ocfs_journal_handle *handle, struct buffer_head *bh, int type)
{
- int status = -1;
- char *data;
+ int status;
int i;
int found = 0;
@@ -655,9 +654,6 @@
(unsigned long long)bh->b_blocknr);
BUG();
}
- /* by taking a "read" lock, we prevent anyone from doing any
- * IO on the buffers while in journal_get_*_access */
- data = OCFS_BH_GET_DATA_READ(bh);
/* search for this buffer in our copyout list. If it's already
* there, we need to do nothing. Otherwise, add it to the
@@ -665,11 +661,12 @@
*
* Note that we want to make a copy of the buffer on the 1st access
* call as that's when we know for sure it's clean. */
- for(i = 0; i < handle->num_co; i++)
+ for (i = 0; i < handle->num_co; i++) {
if (handle->co_buffs[i].blocknr == bh->b_blocknr) {
found = 1;
break;
}
+ }
if (!found) {
i = handle->num_co;
@@ -704,7 +701,8 @@
status = -ENOMEM;
goto done;
}
- memcpy(handle->co_buffs[i].data, data, bh->b_size);
+ memcpy(handle->co_buffs[i].data, bh->b_data,
+ bh->b_size);
}
}
@@ -904,7 +902,7 @@
LOG_ERROR_STR("Could not get lock on journal!");
goto done;
}
- fe = OCFS_BH_GET_DATA_READ(bh);
+ fe = (ocfs2_dinode *) bh->b_data;
/* should be exactly eight megs. need to run tuneocfs otherwise. */
if (fe->i_size != OCFS_JOURNAL_DEFAULT_SIZE) {
@@ -1369,7 +1367,7 @@
printk("ocfs2: Recovering node %d from device (%u,%u)\n", node_num,
MAJOR(osb->sb->s_dev), MINOR(osb->sb->s_dev));
- fe = OCFS_BH_GET_DATA_READ(bh);
+ fe = (ocfs2_dinode *) bh->b_data;
/* gonna need this later */
alloc_size = (u64)fe->i_clusters << osb->s_clustersize_bits;
@@ -1497,7 +1495,7 @@
goto finally;
}
- publish = OCFS_BH_GET_DATA_WRITE(publish_bh);
+ publish = (ocfs_publish *) publish_bh->b_data;
publish->dirty = 0;
publish->vote = 0;
Modified: trunk/src/lockres.c
===================================================================
--- trunk/src/lockres.c 2004-06-17 22:44:53 UTC (rev 1135)
+++ trunk/src/lockres.c 2004-06-18 00:55:28 UTC (rev 1136)
@@ -93,7 +93,7 @@
goto finally;
}
- fe = OCFS_BH_GET_DATA_READ(*b);
+ fe = (ocfs2_dinode *) (*b)->b_data;
if (!IS_VALID_FILE_ENTRY(fe))
BUG();
Modified: trunk/src/namei.c
===================================================================
--- trunk/src/namei.c 2004-06-17 22:44:53 UTC (rev 1135)
+++ trunk/src/namei.c 2004-06-18 00:55:28 UTC (rev 1136)
@@ -243,7 +243,7 @@
goto leave;
}
- fe = OCFS_BH_GET_DATA_READ(new_fe_bh);
+ fe = (ocfs2_dinode *) new_fe_bh->b_data;
ocfs_populate_inode (inode, fe, 1);
@@ -272,7 +272,7 @@
LOG_ERROR_STATUS(status);
goto leave;
}
- de = OCFS_BH_GET_DATA_WRITE(newdirbh);
+ de = (struct ocfs2_dir_entry *) newdirbh->b_data;
de->inode = cpu_to_le64(file_off);
de->name_len = 1;
de->rec_len =
@@ -300,7 +300,7 @@
LOG_ERROR_STATUS(status);
goto leave;
}
- fe = OCFS_BH_GET_DATA_WRITE(parent_fe_bh);
+ fe = (ocfs2_dinode *) parent_fe_bh->b_data;
fe->i_links_count++;
fe = NULL;
status = ocfs_journal_dirty(handle, parent_fe_bh);
@@ -402,7 +402,7 @@
goto leave;
}
- fe = OCFS_BH_GET_DATA_WRITE(*new_fe_bh);
+ fe = (ocfs2_dinode *) (*new_fe_bh)->b_data;
memset(fe, 0, osb->sb->s_blocksize);
inode->i_ino = ino_from_off(osb->sb, disk_off);
/*
@@ -638,7 +638,7 @@
goto leave;
}
- fe = OCFS_BH_GET_DATA_WRITE(fe_bh);
+ fe = (ocfs2_dinode *) fe_bh->b_data;
if (fe->i_links_count != inode->i_nlink) {
printk("ocfs_unlink: hmm, inode has nlink = %u, fe has link_cnt = %u. Setting inode from fe.\n",
inode->i_nlink, fe->i_links_count);
@@ -678,7 +678,7 @@
LOG_ERROR_STATUS(status);
goto leave;
}
- dirfe = OCFS_BH_GET_DATA_WRITE(parent_node_bh);
+ dirfe = (ocfs2_dinode *) parent_node_bh->b_data;
dirfe->i_links_count--;
status = ocfs_journal_dirty(handle, fe_bh);
if (status < 0) {
@@ -1071,7 +1071,7 @@
}
}
- newfe = OCFS_BH_GET_DATA_WRITE(newfe_bh);
+ newfe = (ocfs2_dinode *) newfe_bh->b_data;
if (S_ISDIR (new_inode->i_mode))
newfe->i_links_count = 0;
else
@@ -1101,7 +1101,6 @@
LOG_ERROR_STATUS (status);
goto finally;
}
- OCFS_BH_GET_DATA_WRITE(new_de_bh);
new_de->inode = le64_to_cpu(GET_INODE_FEOFF(old_inode));
new_de->file_type = old_de->file_type;
new_dir->i_version++;
@@ -1147,7 +1146,6 @@
// BAD
goto bail;
}
- OCFS_BH_GET_DATA_WRITE(old_inode_de_bh);
PARENT_INO(old_inode_de_bh->b_data) = le64_to_cpu(GET_INODE_FEOFF(new_dir));
status = ocfs_journal_dirty(handle, old_inode_de_bh);
if (status < 0) {
@@ -1293,7 +1291,7 @@
goto abort_trans;
}
- fe = OCFS_BH_GET_DATA_READ(new_fe_bh);
+ fe = (ocfs2_dinode *) new_fe_bh->b_data;
file_off = fe->i_blkno << osb->sb->s_blocksize_bits;
fe = NULL;
@@ -1308,7 +1306,7 @@
}
inode->i_rdev = OCFS_NODEV;
- fe = OCFS_BH_GET_DATA_READ(new_fe_bh);
+ fe = (ocfs2_dinode *) new_fe_bh->b_data;
ocfs_populate_inode (inode, fe, 1);
fe = NULL;
@@ -1410,7 +1408,6 @@
struct ocfs2_dir_entry * de, * de1;
struct super_block * sb;
int retval, status;
- char *buf;
ocfs2_dinode *fe = NULL;
sb = dir->i_sb;
@@ -1438,7 +1435,6 @@
/* create next block */
status = ocfs_journal_access(handle, bh, OCFS_JOURNAL_ACCESS_WRITE);
- buf = OCFS_BH_GET_DATA_WRITE(bh);
de = (struct ocfs2_dir_entry *) bh->b_data;
de->inode = 0;
de->rec_len = le16_to_cpu(sb->s_blocksize);
@@ -1447,18 +1443,15 @@
/* update the parent file entry file size */
status = ocfs_journal_access(handle, parent_fe_bh, OCFS_JOURNAL_ACCESS_WRITE);
- buf = OCFS_BH_GET_DATA_WRITE(parent_fe_bh);
- fe = (ocfs2_dinode *)buf;
+ fe = (ocfs2_dinode *) parent_fe_bh->b_data;
fe->i_size = dir->i_size;
status = ocfs_journal_dirty(handle, parent_fe_bh);
} else {
/* move to next block */
- buf = OCFS_BH_GET_DATA_READ(bh);
de = (struct ocfs2_dir_entry *) bh->b_data;
}
}
- buf = OCFS_BH_GET_DATA_READ(bh);
if (!ocfs_check_dir_entry (dir, de, bh, offset)) {
retval = -ENOENT;
goto bail;
@@ -1472,7 +1465,6 @@
(le16_to_cpu(de->rec_len) >=
(OCFS2_DIR_REC_LEN(de->name_len) + rec_len))) {
status = ocfs_journal_access(handle, bh, OCFS_JOURNAL_ACCESS_WRITE);
- buf = OCFS_BH_GET_DATA_WRITE(bh);
/* By now the buffer is marked for journaling */
offset += le16_to_cpu(de->rec_len);
if (le64_to_cpu(de->inode)) {
@@ -1521,7 +1513,7 @@
i = 0;
pde = NULL;
- de = OCFS_BH_GET_DATA_READ(bh);
+ de = (struct ocfs2_dir_entry *) bh->b_data;
while (i < bh->b_size) {
if (!ocfs_check_dir_entry(dir, de, bh, i)) {
status = -EIO;
@@ -1533,7 +1525,6 @@
status = -EIO;
goto bail;
}
- OCFS_BH_GET_DATA_WRITE(bh);
if (pde)
pde->rec_len = cpu_to_le16(le16_to_cpu(pde->rec_len) +
le16_to_cpu(de->rec_len));
@@ -1565,7 +1556,7 @@
int de_len;
int ret = 0;
- de = OCFS_BH_GET_DATA_READ(bh);
+ de = (struct ocfs2_dir_entry *) bh->b_data;
dlimit = (char *)de + dir->i_sb->s_blocksize;
while ((char *) de < dlimit) {
/* this code is executed quadratically often */
@@ -1767,7 +1758,7 @@
/* we're a cluster, and nlink can change on disk from
* underneath us... */
- orphan_fe = OCFS_BH_GET_DATA_WRITE(orphan_dir_bh);
+ orphan_fe = (ocfs2_dinode *) orphan_dir_bh->b_data;
if (S_ISDIR(inode->i_mode))
orphan_fe->i_links_count++;
orphan_dir_inode->i_nlink = orphan_fe->i_links_count;
@@ -1853,7 +1844,7 @@
}
/* do the i_nlink dance! :) */
- orphan_fe = OCFS_BH_GET_DATA_WRITE(orphan_dir_bh);
+ orphan_fe = (ocfs2_dinode *) orphan_dir_bh->b_data;
if (S_ISDIR(inode->i_mode))
orphan_fe->i_links_count--;
orphan_dir_inode->i_nlink = orphan_fe->i_links_count;
@@ -1924,7 +1915,7 @@
if (err < 0)
goto bail;
- fe = OCFS_BH_GET_DATA_WRITE(bh);
+ fe = (ocfs2_dinode *) bh->b_data;
fe->i_links_count++;
inode->i_nlink = fe->i_links_count;
inode->i_ctime = CURRENT_TIME;
Modified: trunk/src/nm.c
===================================================================
--- trunk/src/nm.c 2004-06-17 22:44:53 UTC (rev 1135)
+++ trunk/src/nm.c 2004-06-18 00:55:28 UTC (rev 1136)
@@ -206,12 +206,12 @@
{
int status = 0;
ocfs_vote_request_ctxt *ctxt = NULL;
- ocfs_publish * publish;
+ ocfs_publish *publish;
struct ocfs_sched_vote *sv = NULL;
LOG_ENTRY_ARGS("(vote_node = %d, bh = 0x%p)\n", vote_node, bh);
- publish = OCFS_BH_GET_DATA_READ(bh);
+ publish = (ocfs_publish *) bh->b_data;
if (osb->last_publ_seq_num[vote_node] == publish->publ_seq_num){
LOG_TRACE_ARGS("Already voted on node %d, seqnum (%llu)\n",
@@ -322,7 +322,7 @@
}
bh = osb->autoconfig_bhs[OCFS_VOLCFG_NEWCFG_SECTORS + osb->node_num];
- publish = OCFS_BH_GET_DATA_READ(bh);
+ publish = (ocfs_publish *) bh->b_data;
if ((osb->check_mounted) && (publish->mounted == 0)) {
printk("ocfs2: Heartbeat timed out, volume has been "
"recovered from another node!\n");
@@ -337,7 +337,8 @@
up (&(osb->publish_lock));
/* If another node was added to the config read and update the cfg */
- node_cfg_hdr = OCFS_BH_GET_DATA_READ(osb->autoconfig_bhs[1]);
+ node_cfg_hdr =
+ (ocfs_node_config_hdr *) osb->autoconfig_bhs[1]->b_data;
num_nodes = node_cfg_hdr->num_nodes;
cfg_seq_num = node_cfg_hdr->cfg_seq_num;
@@ -368,7 +369,7 @@
/* Check for the highest node looking for a vote, if anybody is looking */
for (i = 0, which = OCFS_VOLCFG_NEWCFG_SECTORS; i < num_nodes; i++, which++) {
ocfs_node_map vote_map;
- publish = OCFS_BH_GET_DATA_READ(osb->autoconfig_bhs[which]);
+ publish = (ocfs_publish *) osb->autoconfig_bhs[which]->b_data;
if (publish->time == (__u64) 0)
goto loop;
@@ -412,11 +413,10 @@
+ osb->node_num];
down(&(osb->publish_lock));
- publish = OCFS_BH_GET_DATA_READ(bh);
+ publish = (ocfs_publish *) bh->b_data;
voted = publish->vote;
if (voted) {
- publish = OCFS_BH_GET_DATA_WRITE(bh);
publish->vote = 0;
status = ocfs_write_bh(osb, bh, 0, NULL);
if (status < 0) {
@@ -841,7 +841,7 @@
if (disk_vote) {
/* Zero out the vote for everybody, if any already set
* and hung */
- vote = OCFS_BH_GET_DATA_WRITE(vote_bh);
+ vote = (ocfs_vote *) vote_bh->b_data;
vote->node = (__u8)-1;
vote->type = 0;
status = ocfs_write_bh(osb, vote_bh, 0, NULL);
@@ -1081,11 +1081,11 @@
break;
}
- fe = OCFS_BH_GET_DATA_READ(fe_bh);
+ fe = (ocfs2_dinode *) fe_bh->b_data;
is_dir = S_ISDIR(fe->i_mode);
is_locked = DISK_LOCK(fe)->dl_level > OCFS_DLM_NO_LOCK;
if (vote_type == CHANGE_MASTER) {
- fe = OCFS_BH_GET_DATA_WRITE(fe_bh);
+ fe = (ocfs2_dinode *) fe_bh->b_data;
if (inode && OCFS_I(inode)->open_hndl_cnt) {
ocfs_node_map_init(osb, &disk_map);
ocfs_get_disk_lock_open_map(osb, DISK_LOCK(fe), &disk_map);
@@ -1102,7 +1102,7 @@
if (is_locked || vote_type == CHANGE_MASTER) {
if (vote_type == RELEASE_CACHE) {
LOG_TRACE_STR("release cache vote, setting to NO_LOCK");
- fe = OCFS_BH_GET_DATA_WRITE(fe_bh);
+ fe = (ocfs2_dinode *) fe_bh->b_data;
DISK_LOCK(fe)->dl_level = OCFS_DLM_NO_LOCK;
}
status = ocfs_write_bh(osb, fe_bh, 0, inode);
@@ -1130,13 +1130,13 @@
LOG_ERROR_STATUS (status);
break;
}
- fe = OCFS_BH_GET_DATA_READ(fe_bh);
+ fe = (ocfs2_dinode *) fe_bh->b_data;
if (!(fe->i_flags & OCFS2_VALID_FL)) {
vote_response = FLAG_VOTE_FILE_DEL;
} else {
ocfs_node_map_init(osb, &disk_map);
- fe = OCFS_BH_GET_DATA_WRITE(fe_bh);
+ fe = (ocfs2_dinode *) fe_bh->b_data;
ocfs_get_disk_lock_open_map(osb, DISK_LOCK(fe), &disk_map);
ocfs_node_map_set_bit(&disk_map, node_num);
ocfs_set_disk_lock_open_map(osb, DISK_LOCK(fe), &disk_map);
@@ -1239,7 +1239,7 @@
}
if (disk_vote) {
- vote = OCFS_BH_GET_DATA_WRITE(vote_bh);
+ vote = (ocfs_vote *) vote_bh->b_data;
vote->lock_id = lock_id;
vote->vote_seq_num = seq_num;
vote->open_handle = open_handle;
Modified: trunk/src/super.c
===================================================================
--- trunk/src/super.c 2004-06-17 22:44:53 UTC (rev 1135)
+++ trunk/src/super.c 2004-06-18 00:55:28 UTC (rev 1136)
@@ -758,7 +758,7 @@
return -EIO;
}
- bm_lock = OCFS_BH_GET_DATA_READ(bh);
+ bm_lock = (ocfs2_dinode *) bh->b_data;
freebits = numbits = osb->cluster_bitmap.validbits;
@@ -856,7 +856,7 @@
LOG_ERROR_STATUS(status);
goto bail;
}
- hdr = OCFS_BH_GET_DATA_READ(*bh);
+ hdr = (ocfs1_vol_disk_hdr *) (*bh)->b_data;
if (hdr->major_version == OCFS1_MAJOR_VERSION) {
LOG_ERROR_ARGS("incompatible version: %u.%u\n",
hdr->major_version, hdr->minor_version);
@@ -890,7 +890,7 @@
LOG_ERROR_STATUS(status = tmpstat);
goto bail;
}
- di = (ocfs2_dinode *) OCFS_BH_GET_DATA_READ(*bh);
+ di = (ocfs2_dinode *) (*bh)->b_data;
status = ocfs_verify_volume(di, *bh, blksize);
if (status >= 0)
goto bail;
@@ -1268,7 +1268,7 @@
LOG_ERROR_STATUS (status);
goto done;
}
- publish = OCFS_BH_GET_DATA_READ(publish_bh);
+ publish = (ocfs_publish *) publish_bh->b_data;
retval = publish->mounted;
@@ -1294,7 +1294,7 @@
LOG_ERROR_STATUS (status);
goto done;
}
- publish = OCFS_BH_GET_DATA_WRITE(publish_bh);
+ publish = (ocfs_publish *) publish_bh->b_data;
/* change it */
publish->mounted = value;
@@ -1390,7 +1390,7 @@
/* this needs to be done before most other initializations */
- di = OCFS_BH_GET_DATA_READ(bh);
+ di = (ocfs2_dinode *) bh->b_data;
osb->max_nodes = le32_to_cpu(di->id2.i_super.s_max_nodes);
printk("max_nodes for this device: %u\n", osb->max_nodes);
@@ -1509,7 +1509,7 @@
di->id2.i_super.s_creator_os = cpu_to_le32(OCFS2_OS_LINUX);
#endif
- di = OCFS_BH_GET_DATA_READ(bh);
+ di = (ocfs2_dinode *) bh->b_data;
/* get some pseudo constants for clustersize bits */
osb->s_clustersize_bits = le32_to_cpu(di->id2.i_super.s_clustersize_bits);
@@ -1658,7 +1658,7 @@
LOG_ERROR_STATUS (status);
goto finally;
}
- publish = OCFS_BH_GET_DATA_WRITE(publish_bh);
+ publish = (ocfs_publish *) publish_bh->b_data;
/*
* FIXME: This really ought to be something exported by the
@@ -1839,7 +1839,7 @@
goto finally;
}
- publish = OCFS_BH_GET_DATA_READ(publish_bh);
+ publish = (ocfs_publish *) publish_bh->b_data;
/* we copy this out of the publish sector and then unlock
* the bh as other functions will need to modify it. */
mounted = publish->mounted;
Modified: trunk/src/volcfg.c
===================================================================
--- trunk/src/volcfg.c 2004-06-17 22:44:53 UTC (rev 1135)
+++ trunk/src/volcfg.c 2004-06-18 00:55:28 UTC (rev 1136)
@@ -142,7 +142,6 @@
__u64 offset;
int i;
ocfs_node_config_info *disk_node = NULL;
- char *buf;
__u32 node_num;
__u32 size;
struct buffer_head **cfg_bhs = NULL;
@@ -169,7 +168,7 @@
/* Check if preferred node num is available */
node_num = OCFS_INVALID_NODE_NUM;
if (pref_node_num >= 0 && pref_node_num < osb->max_nodes) {
- disk_node = OCFS_BH_GET_DATA_READ(cfg_bhs[pref_node_num]);
+ disk_node = (ocfs_node_config_info *) cfg_bhs[pref_node_num]->b_data;
if (disk_node->node_name[0] == '\0')
node_num = pref_node_num;
}
@@ -177,7 +176,7 @@
/* if not, find the first available empty slot */
if (node_num == OCFS_INVALID_NODE_NUM) {
for (node_num = 0; node_num < osb->max_nodes; node_num++) {
- disk_node = OCFS_BH_GET_DATA_READ(cfg_bhs[node_num]);
+ disk_node = (ocfs_node_config_info *) cfg_bhs[node_num]->b_data;
if (disk_node->node_name[0] == '\0')
break;
}
@@ -192,8 +191,7 @@
}
/* Copy the new nodecfg into the memory buffer */
- buf = OCFS_BH_GET_DATA_WRITE(cfg_bhs[node_num]);
- memcpy (buf, new_disk_node, osb->sb->s_blocksize);
+ memcpy (cfg_bhs[node_num]->b_data, new_disk_node, osb->sb->s_blocksize);
/* Write the new node details on disk */
status = ocfs_write_bh(osb, cfg_bhs[node_num], 0, NULL);
@@ -227,8 +225,7 @@
static int ocfs_write_volcfg_header (ocfs_super * osb, ocfs_volcfg_op op)
{
int status = 0;
- ocfs_node_config_hdr *hdr;
- ocfs_node_config_hdr *hdr_copy;
+ ocfs_node_config_hdr *hdr, *hdr_copy;
__u64 offset;
struct buffer_head *node_cfg_bhs[2];
@@ -250,8 +247,8 @@
goto bail;
}
- hdr = OCFS_BH_GET_DATA_WRITE(node_cfg_bhs[0]);
- hdr_copy = OCFS_BH_GET_DATA_WRITE(node_cfg_bhs[1]);
+ hdr = (ocfs_node_config_hdr *) node_cfg_bhs[0]->b_data;
+ hdr_copy = (ocfs_node_config_hdr *) node_cfg_bhs[1]->b_data;
if (op == OCFS_VOLCFG_ADD)
hdr->num_nodes++;
@@ -345,7 +342,7 @@
}
cfg_task->bh = bh;
- for (i=0; i<50; i++) {
+ for (i = 0; i < 50; i++) {
/* Read the volcfg lock sector */
status = ocfs_read_bh(osb, lock_off, &bh, 0, NULL);
if (status < 0) {
@@ -353,9 +350,7 @@
goto finito;
}
- lock_buf = OCFS_BH_GET_DATA_WRITE(bh);
-
- disk_lock = (ocfs2_disk_lock *)lock_buf;
+ disk_lock = (ocfs2_disk_lock *) bh->b_data;
lock_node_num = disk_lock->dl_master;
if (disk_lock->dl_level == 0 || break_lock) {
@@ -389,7 +384,7 @@
goto finito;
}
- lock_buf = OCFS_BH_GET_DATA_WRITE(bh);
+ lock_buf = bh->b_data;
/* If we tried to acquire and we still own it we take it... */
if ((tried_acq) && (memcmp (lock_buf, cfg_buf, osb->sb->s_blocksize) == 0)) {
@@ -460,8 +455,7 @@
static int ocfs_release_disk_lock (ocfs_super * osb, __u64 lock_off)
{
int status = 0;
- __s8 *buffer = NULL;
- struct buffer_head *bh = NULL;
+ struct buffer_head *bh;
struct super_block *sb;
__u64 blocknum;
@@ -476,10 +470,8 @@
goto finally;
}
- buffer = OCFS_BH_GET_DATA_WRITE(bh);
-
/* reset lock... */
- memset (buffer, 0, osb->sb->s_blocksize);
+ memset (bh->b_data, 0, osb->sb->s_blocksize);
/* Release the lock */
status = ocfs_write_bh(osb, bh, 0, NULL);
@@ -495,9 +487,8 @@
atomic_set (&osb->lock_event_woken, 0);
del_timer_sync(&osb->lock_timer);
- buffer = OCFS_BH_GET_DATA_WRITE(bh);
/* reset lock... */
- memset (buffer, 0, osb->sb->s_blocksize);
+ memset (bh->b_data, 0, osb->sb->s_blocksize);
/* Release the lock */
status = ocfs_write_bh(osb, bh, 0, NULL);
@@ -605,7 +596,6 @@
__u32 blocknum;
struct buffer_head *bh = NULL;
struct super_block *sb = NULL;
- char *buf = NULL;
LOG_ENTRY ();
@@ -620,8 +610,7 @@
goto finally;
}
- buf = OCFS_BH_GET_DATA_WRITE(bh);
- memcpy(buf, disk, osb->sb->s_blocksize);
+ memcpy(bh->b_data, disk, osb->sb->s_blocksize);
status = ocfs_write_bh(osb, bh, 0, NULL);
if (status < 0) {
@@ -738,7 +727,7 @@
}
/* 1st block in buffer is the NodeCfgHdr */
- hdr = OCFS_BH_GET_DATA_READ(cfg_bhs[0]);
+ hdr = (ocfs_node_config_hdr *) cfg_bhs[0]->b_data;
if (strncmp (hdr->signature, OCFS2_NODE_CONFIG_HDR_SIGN,
OCFS2_NODE_CONFIG_SIGN_LEN)) {
@@ -768,7 +757,7 @@
for (i = 0; i < osb->max_nodes; i++) {
int which;
which = i + OCFS_VOLCFG_HDR_SECTORS;
- disk = OCFS_BH_GET_DATA_READ(cfg_bhs[which]);
+ disk = (ocfs_node_config_info *) cfg_bhs[which]->b_data;
if (disk->node_name[0] == '\0')
continue;
More information about the Ocfs2-commits
mailing list