refrigerator(PF_FREEZE); 
refrigerator(); 
xfsbufd(	void			*data){	struct list_head	tmp;	unsigned long		age;	xfs_buftarg_t		*target;	xfs_buf_t		*pb, *n;	/*  Set up the thread  */	daemonize("xfsbufd");	current->flags |= PF_MEMALLOC;	xfsbufd_task = current;	xfsbufd_active = 1;	barrier();	INIT_LIST_HEAD(&tmp);	do {		if (unlikely(current->flags & PF_FREEZE)) {			xfsbufd_force_sleep = 1;			refrigerator(PF_FREEZE);		} else {			xfsbufd_force_sleep = 0;		}		set_current_state(TASK_INTERRUPTIBLE);		schedule_timeout((xfs_buf_timer_centisecs * HZ) / 100);		age = (xfs_buf_age_centisecs * HZ) / 100;		spin_lock(&pbd_delwrite_lock);		list_for_each_entry_safe(pb, n, &pbd_delwrite_queue, pb_list) {			PB_TRACE(pb, "walkq1", (long)pagebuf_ispin(pb));			ASSERT(pb->pb_flags & PBF_DELWRI);			if (!pagebuf_ispin(pb) && !pagebuf_cond_lock(pb)) {				if (!xfsbufd_force_flush &&				    time_before(jiffies,						pb->pb_queuetime + age)) {					pagebuf_unlock(pb);					break;				}				pb->pb_flags &= ~PBF_DELWRI;				pb->pb_flags |= PBF_WRITE;				list_move(&pb->pb_list, &tmp);			}		}		spin_unlock(&pbd_delwrite_lock);		while (!list_empty(&tmp)) {			pb = list_entry(tmp.next, xfs_buf_t, pb_list);			target = pb->pb_target;			list_del_init(&pb->pb_list);			pagebuf_iostrategy(pb);			blk_run_address_space(target->pbr_mapping);		}		if (as_list_len > 0)			purge_addresses();		xfsbufd_force_flush = 0;	} while (xfsbufd_active);	complete_and_exit(&xfsbufd_done, 0);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/3e1d1d28d99dabe63c64f7f40f1ca1d646de1f73/xfs_buf.c/buggy/fs/xfs/linux-2.6/xfs_buf.c