int		status; 
long timeout; int status; 
nlmclnt_lock(struct nlm_rqst *req, struct file_lock *fl){	struct nlm_host	*host = req->a_host;	struct nlm_res	*resp = &req->a_res;	int		status;	if (!host->h_monitored && nsm_monitor(host) < 0) {		printk(KERN_NOTICE "lockd: failed to monitor %s\n",					host->h_name);		status = -ENOLCK;		goto out;	}	do {		if ((status = nlmclnt_call(req, NLMPROC_LOCK)) >= 0) {			if (resp->status != NLM_LCK_BLOCKED)				break;			status = nlmclnt_block(host, fl, &resp->status);		}		if (status < 0)			goto out;	} while (resp->status == NLM_LCK_BLOCKED && req->a_args.block);	if (resp->status == NLM_LCK_GRANTED) {		fl->fl_u.nfs_fl.state = host->h_state;		fl->fl_u.nfs_fl.flags |= NFS_LCK_GRANTED;		fl->fl_flags |= FL_SLEEP;		do_vfs_lock(fl);	}	status = nlm_stat_to_errno(resp->status);out:	nlmclnt_release_lockargs(req);	return status;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/ecdbf769b2cb8903e07cd482334c714d89fd1146/clntproc.c/clean/fs/lockd/clntproc.c