if (!fc->sb) 
if (!fc->mounted) 
static ssize_t fuse_dev_readv(struct file *file, const struct iovec *iov,			      unsigned long nr_segs, loff_t *off){	int err;	struct fuse_conn *fc;	struct fuse_req *req;	struct fuse_in *in;	struct fuse_copy_state cs;	unsigned reqsize;	spin_lock(&fuse_lock);	fc = file->private_data;	err = -EPERM;	if (!fc)		goto err_unlock;	request_wait(fc);	err = -ENODEV;	if (!fc->sb)		goto err_unlock;	err = -ERESTARTSYS;	if (list_empty(&fc->pending))		goto err_unlock;	req = list_entry(fc->pending.next, struct fuse_req, list);	list_del_init(&req->list);	spin_unlock(&fuse_lock);	in = &req->in;	reqsize = req->in.h.len;	fuse_copy_init(&cs, 1, req, iov, nr_segs);	err = -EINVAL;	if (iov_length(iov, nr_segs) >= reqsize) {		err = fuse_copy_one(&cs, &in->h, sizeof(in->h));		if (!err)			err = fuse_copy_args(&cs, in->numargs, in->argpages,					     (struct fuse_arg *) in->args, 0);	}	fuse_copy_finish(&cs);	spin_lock(&fuse_lock);	req->locked = 0;	if (!err && req->interrupted)		err = -ENOENT;	if (err) {		if (!req->interrupted)			req->out.h.error = -EIO;		request_end(fc, req);		return err;	}	if (!req->isreply)		request_end(fc, req);	else {		req->sent = 1;		list_add_tail(&req->list, &fc->processing);		spin_unlock(&fuse_lock);	}	return reqsize; err_unlock:	spin_unlock(&fuse_lock);	return err;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/1e9a4ed9396e9c31139721b639550ffb1df17065/dev.c/clean/fs/fuse/dev.c