[Ocfs2-commits] khackel commits r897 - trunk/src

svn-commits at oss.oracle.com svn-commits at oss.oracle.com
Wed May 5 17:31:19 CDT 2004


Author: khackel
Date: 2004-05-05 16:31:17 -0500 (Wed, 05 May 2004)
New Revision: 897

Modified:
   trunk/src/alloc.c
   trunk/src/super.c
Log:
changed to use the bitmap lock fe bits for free bits in statfs, etc.



Modified: trunk/src/alloc.c
===================================================================
--- trunk/src/alloc.c	2004-05-05 21:12:15 UTC (rev 896)
+++ trunk/src/alloc.c	2004-05-05 21:31:17 UTC (rev 897)
@@ -376,10 +376,10 @@
 
 	/* release all locks */
 	if (free_vol_bits != NULL) {
-		ocfs_bitmap_lock *bm_lock;
+		ocfs_file_entry *bm_lock;
 
-		bm_lock = (ocfs_bitmap_lock *)OCFS_BH_GET_DATA_WRITE(globalbh);   /* write */
-                bm_lock->used_bits = ocfs_count_bits(&osb->cluster_bitmap);
+		bm_lock = (ocfs_file_entry *)OCFS_BH_GET_DATA_WRITE(globalbh);   /* write */
+		bm_lock->u.bitinfo.used_bits = ocfs_count_bits(&osb->cluster_bitmap);
 		OCFS_BH_PUT_DATA(globalbh);
 
 		status = ocfs_write_bh(osb, globalbh, 0, NULL);
@@ -2715,7 +2715,7 @@
 	static __u32 SmallAllocOffset = 0;
 	bool bLockAcquired = false;
         struct buffer_head *bh = NULL;
-        ocfs_bitmap_lock *bm_lock = NULL;
+        ocfs_file_entry *bm_lock = NULL;
 	__u32 bitmapblocks; /* we only care about the valid blocks */
 	bool local_lock = true;
 	bool local_inode = false;
@@ -2753,7 +2753,7 @@
 		}
 		bLockAcquired = true;
 	}
-	bm_lock = (ocfs_bitmap_lock *)OCFS_BH_GET_DATA_WRITE(bh); /* write */
+	bm_lock = (ocfs_file_entry *)OCFS_BH_GET_DATA_WRITE(bh); /* write */
 
 	ClusterCount = (__u32) ((__u64) (file_size + (osb->vol_layout.cluster_size-1)) >> 
 				osb->cluster_size_bits);
@@ -2861,7 +2861,7 @@
 	/* write the bitmap size info to the lock sector */
 	/* TODO: optimize by making this part of ocfs_release_lock 
 	 * for now, it will be back-to-back writes to same sector */
-	bm_lock->used_bits = ocfs_count_bits(&osb->cluster_bitmap);
+	bm_lock->u.bitinfo.used_bits = ocfs_count_bits(&osb->cluster_bitmap);
 	OCFS_BH_PUT_DATA(bh);
 	bm_lock = NULL;
 

Modified: trunk/src/super.c
===================================================================
--- trunk/src/super.c	2004-05-05 21:12:15 UTC (rev 896)
+++ trunk/src/super.c	2004-05-05 21:31:17 UTC (rev 897)
@@ -730,7 +730,7 @@
         ocfs_super *osb = NULL;
         __u32 numbits, freebits = 0;
         int status = 0;
-        ocfs_bitmap_lock *bm_lock = NULL;
+        ocfs_file_entry *bm_lock = NULL;
 	struct buffer_head *bh = NULL;
 
         LOG_ENTRY_ARGS ("(%p, %p)\n", sb, buf);
@@ -743,11 +743,10 @@
 		LOG_ERROR_STR("failed to read bitmap data");
 		return -EIO;
 	}
-	bm_lock = (ocfs_bitmap_lock *)OCFS_BH_GET_DATA_READ(bh); /* read */
+	bm_lock = (ocfs_file_entry *)OCFS_BH_GET_DATA_READ(bh); /* read */
+        if (numbits >= bm_lock->u.bitinfo.used_bits)
+            freebits = numbits - bm_lock->u.bitinfo.used_bits;
 
-        if (numbits >= bm_lock->used_bits)
-            freebits = numbits - bm_lock->used_bits;
-
 	/* take out the space reserved for system files */
 	freebits -= (8 * ONE_MEGA_BYTE / osb->vol_layout.cluster_size);	
 



More information about the Ocfs2-commits mailing list