fpq
struct fpq fpqueue[16];
} fpq[16];
} fpq[16];
fpq = &fud->pq;
spin_lock(&fpq->lock);
if (fuse_request_expired(fc, &fpq->io) ||
fuse_fpq_processing_expired(fc, fpq->processing)) {
spin_unlock(&fpq->lock);
spin_unlock(&fpq->lock);
struct fuse_pqueue *fpq = &fud->pq;
spin_lock(&fpq->lock);
if (!fpq->connected) {
list_add(&req->list, &fpq->io);
spin_unlock(&fpq->lock);
spin_lock(&fpq->lock);
if (!fpq->connected) {
list_move_tail(&req->list, &fpq->processing[hash]);
spin_unlock(&fpq->lock);
spin_unlock(&fpq->lock);
struct fuse_pqueue *fpq = &fud->pq;
spin_lock(&fpq->lock);
list_splice_tail_init(&fpq->processing[i], &to_queue);
spin_unlock(&fpq->lock);
struct fuse_req *fuse_request_find(struct fuse_pqueue *fpq, u64 unique)
list_for_each_entry(req, &fpq->processing[hash], list) {
struct fuse_pqueue *fpq = &fud->pq;
spin_lock(&fpq->lock);
if (fpq->connected)
req = fuse_request_find(fpq, oh.unique & ~FUSE_INT_REQ_BIT);
spin_unlock(&fpq->lock);
spin_unlock(&fpq->lock);
list_move(&req->list, &fpq->io);
spin_unlock(&fpq->lock);
spin_lock(&fpq->lock);
if (!fpq->connected)
spin_unlock(&fpq->lock);
struct fuse_pqueue *fpq = &fud->pq;
spin_lock(&fpq->lock);
fpq->connected = 0;
list_for_each_entry_safe(req, next, &fpq->io, list) {
list_splice_tail_init(&fpq->processing[i],
spin_unlock(&fpq->lock);
struct fuse_pqueue *fpq = &fud->pq;
spin_lock(&fpq->lock);
WARN_ON(!list_empty(&fpq->io));
list_splice_init(&fpq->processing[i], &to_end);
spin_unlock(&fpq->lock);
struct fuse_pqueue *fpq;
kfree(queue->fpq.processing);
queue->fpq.processing = pq;
fuse_pqueue_init(&queue->fpq);
kfree(queue->fpq.processing);
struct fuse_pqueue *fpq = &queue->fpq;
list_move_tail(&req->list, &fpq->processing[hash]);
struct fuse_pqueue *fpq;
fpq = &queue->fpq;
req = fuse_request_find(fpq, commit_id);
struct fuse_pqueue fpq;
struct fuse_req *fuse_request_find(struct fuse_pqueue *fpq, u64 unique);
void fuse_pqueue_init(struct fuse_pqueue *fpq);
void fuse_pqueue_init(struct fuse_pqueue *fpq)
spin_lock_init(&fpq->lock);
INIT_LIST_HEAD(&fpq->processing[i]);
INIT_LIST_HEAD(&fpq->io);
fpq->connected = 1;
struct fuse_pqueue *fpq;
fpq = &fsvq->fud->pq;
spin_lock(&fpq->lock);
list_add_tail(&req->list, &fpq->processing[hash]);
spin_unlock(&fpq->lock);
struct fuse_pqueue *fpq = &fsvq->fud->pq;
spin_lock(&fpq->lock);
spin_unlock(&fpq->lock);