aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/jfs/inode.c2
-rw-r--r--fs/jfs/jfs_logmgr.c3
2 files changed, 3 insertions, 2 deletions
diff --git a/fs/jfs/inode.c b/fs/jfs/inode.c
index b7dc47ba675e..77554b61d124 100644
--- a/fs/jfs/inode.c
+++ b/fs/jfs/inode.c
@@ -125,7 +125,7 @@ int jfs_write_inode(struct inode *inode, struct writeback_control *wbc)
125{ 125{
126 int wait = wbc->sync_mode == WB_SYNC_ALL; 126 int wait = wbc->sync_mode == WB_SYNC_ALL;
127 127
128 if (test_cflag(COMMIT_Nolink, inode)) 128 if (inode->i_nlink == 0)
129 return 0; 129 return 0;
130 /* 130 /*
131 * If COMMIT_DIRTY is not set, the inode isn't really dirty. 131 * If COMMIT_DIRTY is not set, the inode isn't really dirty.
diff --git a/fs/jfs/jfs_logmgr.c b/fs/jfs/jfs_logmgr.c
index 2eb952c41a69..cbe48ea9318e 100644
--- a/fs/jfs/jfs_logmgr.c
+++ b/fs/jfs/jfs_logmgr.c
@@ -1058,7 +1058,8 @@ static int lmLogSync(struct jfs_log * log, int hard_sync)
1058 */ 1058 */
1059void jfs_syncpt(struct jfs_log *log, int hard_sync) 1059void jfs_syncpt(struct jfs_log *log, int hard_sync)
1060{ LOG_LOCK(log); 1060{ LOG_LOCK(log);
1061 lmLogSync(log, hard_sync); 1061 if (!test_bit(log_QUIESCE, &log->flag))
1062 lmLogSync(log, hard_sync);
1062 LOG_UNLOCK(log); 1063 LOG_UNLOCK(log);
1063} 1064}
1064 1065