if (try_to_freeze()) continue; 
static int cifs_oplock_thread(void * dummyarg){	struct oplock_q_entry * oplock_item;	struct cifsTconInfo *pTcon;	struct inode * inode;	__u16  netfid;	int rc;	daemonize("cifsoplockd");	allow_signal(SIGTERM);	oplockThread = current;	do {		set_current_state(TASK_INTERRUPTIBLE);				schedule_timeout(1*HZ);  		spin_lock(&GlobalMid_Lock);		if(list_empty(&GlobalOplock_Q)) {			spin_unlock(&GlobalMid_Lock);			set_current_state(TASK_INTERRUPTIBLE);			schedule_timeout(39*HZ);		} else {			oplock_item = list_entry(GlobalOplock_Q.next, 				struct oplock_q_entry, qhead);			if(oplock_item) {				cFYI(1,("found oplock item to write out")); 				pTcon = oplock_item->tcon;				inode = oplock_item->pinode;				netfid = oplock_item->netfid;				spin_unlock(&GlobalMid_Lock);				DeleteOplockQEntry(oplock_item);				/* can not grab inode sem here since it would				deadlock when oplock received on delete 				since vfs_unlink holds the i_sem across				the call */				/* down(&inode->i_sem);*/				if (S_ISREG(inode->i_mode)) {					rc = filemap_fdatawrite(inode->i_mapping);					if(CIFS_I(inode)->clientCanCacheRead == 0) {						filemap_fdatawait(inode->i_mapping);						invalidate_remote_inode(inode);					}				} else					rc = 0;				/* up(&inode->i_sem);*/				if (rc)					CIFS_I(inode)->write_behind_rc = rc;				cFYI(1,("Oplock flush inode %p rc %d",inode,rc));				/* releasing a stale oplock after recent reconnection 				of smb session using a now incorrect file 				handle is not a data integrity issue but do  				not bother sending an oplock release if session 				to server still is disconnected since oplock 				already released by the server in that case */				if(pTcon->tidStatus != CifsNeedReconnect) {				    rc = CIFSSMBLock(0, pTcon, netfid,					    0 /* len */ , 0 /* offset */, 0, 					    0, LOCKING_ANDX_OPLOCK_RELEASE,					    0 /* wait flag */);					cFYI(1,("Oplock release rc = %d ",rc));				}			} else				spin_unlock(&GlobalMid_Lock);		}	} while(!signal_pending(current));	complete_and_exit (&cifs_oplock_exited, 0);	oplockThread = NULL;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/ede1327ea4ca8019ec6df24b3e837def091c26b8/cifsfs.c/clean/fs/cifs/cifsfs.c