[Ocfs2-commits] khackel commits r1453 - trunk/src
svn-commits at oss.oracle.com
svn-commits at oss.oracle.com
Fri Sep 10 16:35:23 CDT 2004
Author: khackel
Date: 2004-09-10 16:35:22 -0500 (Fri, 10 Sep 2004)
New Revision: 1453
Modified:
trunk/src/nm.c
Log:
bug if sync_inode fails
Modified: trunk/src/nm.c
===================================================================
--- trunk/src/nm.c 2004-09-10 20:16:24 UTC (rev 1452)
+++ trunk/src/nm.c 2004-09-10 21:35:22 UTC (rev 1453)
@@ -64,7 +64,7 @@
__u32 flags, int *master_alive, int *write_lock,
int *change_master, struct inode *inode);
-static int ocfs_process_vote_pre_change_master(int vote_type, int flags, int *vote_response, int *status, struct inode *inode);
+static int ocfs_process_vote_pre_change_master(int vote_type, int flags, int *vote_response, struct inode *inode);
static int ocfs_process_vote_change_master(ocfs_super *osb, int *vote_response, int *status, struct inode *inode, ocfs_lock_res *lockres, __s16 node_num, __u64 lock_id);
static int ocfs_process_vote_post_change_master(ocfs_super *osb, int vote_type, int flags, int *vote_response, struct inode *inode, ocfs_lock_res *lockres, int *status, __s16 node_num, int *inc_seq);
static int ocfs_lock_busy(ocfs_super *osb, struct inode *inode, ocfs_lock_res *lockres);
@@ -593,7 +593,7 @@
vote_response = FLAG_VOTE_NODE;
- if (ocfs_process_vote_pre_change_master(vote_type, flags, &vote_response, &status, inode))
+ if (ocfs_process_vote_pre_change_master(vote_type, flags, &vote_response, inode))
goto vote;
if (change_master) {
@@ -680,7 +680,7 @@
/* Returns: 1 if process_vote should vote immediately, 0 otherwise */
-static int ocfs_process_vote_pre_change_master(int vote_type, int flags, int *vote_response, int *status, struct inode *inode)
+static int ocfs_process_vote_pre_change_master(int vote_type, int flags, int *vote_response, struct inode *inode)
{
if (vote_type == DELETE_ACQUIRE) {
LOG_TRACE_STR("DELETE_ACQUIRE (part one)");
@@ -695,23 +695,18 @@
LOG_TRACE_STR("TRUNCATE_PAGES");
*vote_response = FLAG_VOTE_NODE;
if (inode) {
- *status = ocfs_sync_inode(inode);
- if (*status >= 0) {
- ocfs_truncate_inode_pages(inode, 0);
- down(&OCFS_I(inode)->ip_sem);
- ocfs_extent_map_destroy(&OCFS_I(inode)->ip_ext_map);
- ocfs_extent_map_init(&OCFS_I(inode)->ip_ext_map);
- /* truncate may send this */
- if (flags & FLAG_FILE_UPDATE_OIN)
- atomic_set(&OCFS_I(inode)->ip_needs_verification, 1);
- up(&OCFS_I(inode)->ip_sem);
- } else {
- // if this fails, it's an EIO
- // should probably BUG
- LOG_ERROR_STATUS(*status);
- *vote_response = FLAG_VOTE_UPDATE_RETRY;
- return 1;
+ if (ocfs_sync_inode(inode) < 0) {
+ LOG_ERROR_ARGS("sync inode failed for inode %lu!\n", inode->i_ino);
+ BUG();
}
+ ocfs_truncate_inode_pages(inode, 0);
+ down(&OCFS_I(inode)->ip_sem);
+ ocfs_extent_map_destroy(&OCFS_I(inode)->ip_ext_map);
+ ocfs_extent_map_init(&OCFS_I(inode)->ip_ext_map);
+ /* truncate may send this */
+ if (flags & FLAG_FILE_UPDATE_OIN)
+ atomic_set(&OCFS_I(inode)->ip_needs_verification, 1);
+ up(&OCFS_I(inode)->ip_sem);
}
return 0;
}
More information about the Ocfs2-commits
mailing list