WARN_ON(!(inode->i_state & I_WILL_FREE)); 
WARN_ON(!(inode->i_state & (I_WILL_FREE|I_FREEING))); 
__writeback_single_inode(struct inode *inode, struct writeback_control *wbc){	wait_queue_head_t *wqh;	if (!atomic_read(&inode->i_count))		WARN_ON(!(inode->i_state & I_WILL_FREE));	else		WARN_ON(inode->i_state & I_WILL_FREE);	if ((wbc->sync_mode != WB_SYNC_ALL) && (inode->i_state & I_LOCK)) {		list_move(&inode->i_list, &inode->i_sb->s_dirty);		return 0;	}	/*	 * It's a data-integrity sync.  We must wait.	 */	if (inode->i_state & I_LOCK) {		DEFINE_WAIT_BIT(wq, &inode->i_state, __I_LOCK);		wqh = bit_waitqueue(&inode->i_state, __I_LOCK);		do {			spin_unlock(&inode_lock);			__wait_on_bit(wqh, &wq, inode_wait,							TASK_UNINTERRUPTIBLE);			spin_lock(&inode_lock);		} while (inode->i_state & I_LOCK);	}	return __sync_single_inode(inode, wbc);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/659603ef692d3f6c7c216e80310990253864bf2e/fs-writeback.c/buggy/fs/fs-writeback.c