[Ocfs2-commits] mfasheh commits r1353 - trunk/src
svn-commits at oss.oracle.com
svn-commits at oss.oracle.com
Fri Aug 13 14:12:34 CDT 2004
Author: mfasheh
Date: 2004-08-13 13:12:32 -0500 (Fri, 13 Aug 2004)
New Revision: 1353
Modified:
trunk/src/dlm.c
trunk/src/dlm.h
trunk/src/file.c
trunk/src/inode.c
trunk/src/lockres.c
trunk/src/namei.c
trunk/src/nm.c
trunk/src/ocfs.h
trunk/src/ocfs2_fs.h
Log:
* get rid of disk locks dl_seq_num, inode privates ip_chng_seq_num and
lockres' last_upd_seq_num fields - they were all essentially unused.
This gives us one big advantage, other than less bloat -
ocfs2_disk_lock is now really small -- just a master node num and a
lock type.
* While I was there, I cleaned up ocfs_update_disk_lock(). It does the
same thing as before, it's just much smaller as a bunch of the code
was never triggered.
Modified: trunk/src/dlm.c
===================================================================
--- trunk/src/dlm.c 2004-08-12 20:20:28 UTC (rev 1352)
+++ trunk/src/dlm.c 2004-08-13 18:12:32 UTC (rev 1353)
@@ -62,8 +62,8 @@
static int ocfs_reset_voting (ocfs_super * osb);
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);
static int ocfs_disk_release_lock (ocfs_super * osb, __u64 lock_id, __u32 lock_type, __u32 flags, struct inode *inode, __u32 num_ident);
+static int ocfs_update_disk_lock (ocfs_super * osb, __u32 flags, struct buffer_head **bh, struct inode *inode);
-
static void ocfs_set_publish_vote_map(ocfs_super *osb, ocfs_publish *publish, ocfs_node_map *vote_map)
{
ocfs_node_map_set_to_disk(publish->vote_map, vote_map);
@@ -389,7 +389,7 @@
* ocfs_update_disk_lock()
* inode is definitely non NULL
*/
-int ocfs_update_disk_lock (ocfs_super * osb, __u32 flags, struct buffer_head **bh, struct inode *inode, ocfs_journal_handle *handle)
+static int ocfs_update_disk_lock (ocfs_super * osb, __u32 flags, struct buffer_head **bh, struct inode *inode)
{
int status = 0;
ocfs2_dinode *fe = NULL;
@@ -406,51 +406,22 @@
goto finally;
}
- if (handle) {
- status = ocfs_journal_access(handle, *bh, OCFS_JOURNAL_ACCESS_WRITE);
- if (status < 0) {
- LOG_ERROR_STATUS (status);
- goto finally;
- }
- }
-
fe = (ocfs2_dinode *) (*bh)->b_data;
if (flags & DLOCK_FLAG_MASTER &&
DISK_LOCK(fe)->dl_master != lockres->master_node_num) {
- if (!changed) {
- fe = (ocfs2_dinode *) (*bh)->b_data;
- }
changed = 1;
DISK_LOCK(fe)->dl_master = lockres->master_node_num;
}
if (flags & DLOCK_FLAG_LOCK &&
DISK_LOCK(fe)->dl_level != lockres->lock_type) {
- if (!changed) {
- fe = (ocfs2_dinode *) (*bh)->b_data;
- }
changed = 1;
DISK_LOCK(fe)->dl_level = lockres->lock_type;
}
- if (flags & DLOCK_FLAG_SEQ_NUM &&
- DISK_LOCK(fe)->dl_seq_num != lockres->last_upd_seq_num) {
- if (!changed) {
- fe = (ocfs2_dinode *) (*bh)->b_data;
- }
- changed = 1;
- DISK_LOCK(fe)->dl_seq_num = lockres->last_upd_seq_num;
- }
-
if (changed) {
- if (handle) {
- status = ocfs_journal_dirty(handle, *bh);
- lockres->lock_holders++;
- ocfs_handle_add_lock(handle, lockres->lock_type, 0,
- inode);
- } else
- status = ocfs_write_bh (osb, *bh, 0, inode);
+ status = ocfs_write_bh (osb, *bh, 0, inode);
if (status < 0)
LOG_ERROR_STATUS (status);
}
@@ -1074,7 +1045,7 @@
/* update the disk lock */
if (need_lock_write) {
- status = ocfs_update_disk_lock (osb, lock_write_flags, &bh, inode, NULL);
+ status = ocfs_update_disk_lock (osb, lock_write_flags, &bh, inode);
if (status < 0)
LOG_ERROR_STATUS (status);
}
Modified: trunk/src/dlm.h
===================================================================
--- trunk/src/dlm.h 2004-08-12 20:20:28 UTC (rev 1352)
+++ trunk/src/dlm.h 2004-08-13 18:12:32 UTC (rev 1353)
@@ -41,9 +41,6 @@
ocfs_release_lock_full(osb, lock_type, flags, inode, 1)
int ocfs_release_lock_full(ocfs_super *osb, __u32 lock_type,
__u32 flags, struct inode *inode, __u32 num_ident);
-int ocfs_update_disk_lock(ocfs_super *osb, __u32 flags,
- struct buffer_head **bh, struct inode *inode,
- ocfs_journal_handle *handle);
int ocfs_notify_on_open(ocfs_super *osb, struct inode *inode);
void ocfs_get_publish_vote_map(ocfs_super *osb, ocfs_publish *publish,
ocfs_node_map *vote_map);
Modified: trunk/src/file.c
===================================================================
--- trunk/src/file.c 2004-08-12 20:20:28 UTC (rev 1352)
+++ trunk/src/file.c 2004-08-13 18:12:32 UTC (rev 1353)
@@ -531,7 +531,6 @@
fileEntry->i_mtime = OCFS_CURRENT_TIME;
- DISK_LOCK(fileEntry)->dl_seq_num = 0;
ocfs_fe_set_attributes(fileEntry, attr);
status = ocfs_journal_dirty(handle, bh);
@@ -932,7 +931,6 @@
goto leave;
}
- DISK_LOCK(fe)->dl_seq_num = 0;
fe->i_mtime = OCFS_CURRENT_TIME;
status = ocfs_journal_dirty(handle, bh);
@@ -1224,8 +1222,6 @@
/* no need to do OCFS_SECTOR_ALIGN once the allocation size is
* correct. */
- DISK_LOCK(fe)->dl_seq_num = 0;
-
no_alloc:
/* Update tha file size and add the new one to old one. */
fe->i_size = file_size;
Modified: trunk/src/inode.c
===================================================================
--- trunk/src/inode.c 2004-08-12 20:20:28 UTC (rev 1352)
+++ trunk/src/inode.c 2004-08-13 18:12:32 UTC (rev 1353)
@@ -412,7 +412,6 @@
OCFS_I(inode)->ip_alloc_size =
(u64)fe->i_clusters << osb->s_clustersize_bits;
OCFS_I(inode)->ip_inode = inode;
- OCFS_I(inode)->ip_chng_seq_num = DISK_LOCK(fe)->dl_seq_num;
OCFS_I(inode)->u.fe_private = fe->id1.i_pad1;
if (create_ino)
@@ -468,7 +467,7 @@
}
status = 0;
- bail:
+bail:
LOG_EXIT_STATUS (status);
return status;
} /* ocfs_populate_inode */
@@ -2152,7 +2151,6 @@
if ((OCFS_I(inode)->ip_alloc_size !=
(__s64)((u64)fe->i_clusters << osb->s_clustersize_bits)) ||
(inode->i_size != (__s64) fe->i_size) ||
- (OCFS_I(inode)->ip_chng_seq_num != DISK_LOCK(fe)->dl_seq_num) ||
inode->i_uid != fe->i_uid ||
inode->i_gid != fe->i_gid ||
inode->i_mode != fe->i_mode ||
@@ -2185,7 +2183,6 @@
inode->i_nlink, fe->i_links_count,
OCFS_I(inode)->ip_blkno);
inode->i_nlink = fe->i_links_count;
- OCFS_I(inode)->ip_chng_seq_num = DISK_LOCK(fe)->dl_seq_num;
inode->i_blocks = (inode->i_size + osb->sb->s_blocksize - 1) >> osb->sb->s_blocksize_bits;
inode->i_uid = fe->i_uid;
inode->i_gid = fe->i_gid;
Modified: trunk/src/lockres.c
===================================================================
--- trunk/src/lockres.c 2004-08-12 20:20:28 UTC (rev 1352)
+++ trunk/src/lockres.c 2004-08-13 18:12:32 UTC (rev 1353)
@@ -203,7 +203,6 @@
lockres->lock_type = OCFS_LKM_NLMODE;
lockres->master_node_num = OCFS_INVALID_NODE_NUM;
- lockres->last_upd_seq_num = 0;
lockres->lock_state = 0;
init_MUTEX(&lockres->lock_mutex);
Modified: trunk/src/namei.c
===================================================================
--- trunk/src/namei.c 2004-08-12 20:20:28 UTC (rev 1352)
+++ trunk/src/namei.c 2004-08-13 18:12:32 UTC (rev 1353)
@@ -445,7 +445,6 @@
fe->i_last_eb_blk = 0;
strcpy (fe->i_signature, OCFS2_INODE_SIGNATURE);
fe->i_flags |= OCFS2_VALID_FL;
- DISK_LOCK(fe)->dl_seq_num = 0;
DISK_LOCK(fe)->dl_master = osb->node_num;
DISK_LOCK(fe)->dl_level = OCFS_LKM_EXMODE;
fe->i_atime = fe->i_ctime = fe->i_mtime = OCFS_CURRENT_TIME;
Modified: trunk/src/nm.c
===================================================================
--- trunk/src/nm.c 2004-08-12 20:20:28 UTC (rev 1352)
+++ trunk/src/nm.c 2004-08-13 18:12:32 UTC (rev 1353)
@@ -971,7 +971,6 @@
#endif
vote_response = FLAG_VOTE_OIN_ALREADY_INUSE;
up(&(OCFS_I(inode)->ip_sem));
- lockres->last_upd_seq_num = seq_num;
break;
}
up(&(OCFS_I(inode)->ip_sem));
@@ -984,7 +983,6 @@
printk("process_vote: extends pending\n");
#endif
vote_response = FLAG_VOTE_OIN_ALREADY_INUSE;
- lockres->last_upd_seq_num = seq_num;
break;
}
spin_unlock(&oin_num_ext_lock);
Modified: trunk/src/ocfs.h
===================================================================
--- trunk/src/ocfs.h 2004-08-12 20:20:28 UTC (rev 1352)
+++ trunk/src/ocfs.h 2004-08-13 18:12:32 UTC (rev 1353)
@@ -381,9 +381,6 @@
unsigned long map[BITS_TO_LONGS(OCFS_NODE_MAP_MAX_NODES)];
} ocfs_node_map;
-
-
-/* XXX: fields that can go if we move this to the inode private */
struct _ocfs_lock_res
{
__s16 master_node_num; /* Master Node */
@@ -394,8 +391,6 @@
struct semaphore lock_mutex;
__s16 readonly_node;
ocfs_node_map readonly_map;
- //ocfs_node_map oin_openmap;
- __u64 last_upd_seq_num;
};
struct _ocfs_journal_handle;
@@ -412,7 +407,6 @@
/* These fields are protected by ip_sem */
struct semaphore ip_sem;
__u32 ip_open_cnt;
- __u64 ip_chng_seq_num;
ocfs_extent_map ip_ext_map;
__s64 ip_alloc_size;
__s64 ip_mmu_private;
Modified: trunk/src/ocfs2_fs.h
===================================================================
--- trunk/src/ocfs2_fs.h 2004-08-12 20:20:28 UTC (rev 1352)
+++ trunk/src/ocfs2_fs.h 2004-08-13 18:12:32 UTC (rev 1353)
@@ -276,8 +276,8 @@
__u16 dl_reserved1;
__u8 dl_level; /* Lock level */
__u8 dl_reserved2[3]; /* Pad to u64 */
- __u64 dl_seq_num; /* Lock transaction seqnum */
-/*10*/ __u32 dl_reserved3[8]; /* was dl_node_map */
+ __u64 dl_reserved3; /* was dl_seq_num */
+/*10*/ __u32 dl_reserved4[8]; /* was dl_node_map */
/*30*/
} ocfs2_disk_lock;
More information about the Ocfs2-commits
mailing list