Skip to content

Commit

Permalink
[PATCH] fuse: rename the interrupted flag
Browse files Browse the repository at this point in the history
Rename the 'interrupted' flag to 'aborted', since it indicates exactly that,
and next patch will introduce an 'interrupted' flag for a

Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
Miklos Szeredi authored and Linus Torvalds committed Jun 25, 2006
1 parent 33649c9 commit f9a2842
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 22 deletions.
39 changes: 19 additions & 20 deletions fs/fuse/dev.c
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ void fuse_put_request(struct fuse_conn *fc, struct fuse_req *req)

/*
* This function is called when a request is finished. Either a reply
* has arrived or it was interrupted (and not yet sent) or some error
* has arrived or it was aborted (and not yet sent) or some error
* occurred during communication with userspace, or the device file
* was closed. The requester thread is woken up (if still waiting),
* the 'end' callback is called if given, else the reference to the
Expand Down Expand Up @@ -250,12 +250,12 @@ static void request_wait_answer(struct fuse_conn *fc, struct fuse_req *req)
restore_sigs(&oldset);
}
spin_lock(&fc->lock);
if (req->state == FUSE_REQ_FINISHED && !req->interrupted)
if (req->state == FUSE_REQ_FINISHED && !req->aborted)
return;

if (!req->interrupted) {
if (!req->aborted) {
req->out.h.error = -EINTR;
req->interrupted = 1;
req->aborted = 1;
}
if (req->locked) {
/* This is uninterruptible sleep, because data is
Expand Down Expand Up @@ -361,14 +361,14 @@ void request_send_background(struct fuse_conn *fc, struct fuse_req *req)
/*
* Lock the request. Up to the next unlock_request() there mustn't be
* anything that could cause a page-fault. If the request was already
* interrupted bail out.
* aborted bail out.
*/
static int lock_request(struct fuse_conn *fc, struct fuse_req *req)
{
int err = 0;
if (req) {
spin_lock(&fc->lock);
if (req->interrupted)
if (req->aborted)
err = -ENOENT;
else
req->locked = 1;
Expand All @@ -378,7 +378,7 @@ static int lock_request(struct fuse_conn *fc, struct fuse_req *req)
}

/*
* Unlock request. If it was interrupted during being locked, the
* Unlock request. If it was aborted during being locked, the
* requester thread is currently waiting for it to be unlocked, so
* wake it up.
*/
Expand All @@ -387,7 +387,7 @@ static void unlock_request(struct fuse_conn *fc, struct fuse_req *req)
if (req) {
spin_lock(&fc->lock);
req->locked = 0;
if (req->interrupted)
if (req->aborted)
wake_up(&req->waitq);
spin_unlock(&fc->lock);
}
Expand Down Expand Up @@ -589,8 +589,8 @@ static void request_wait(struct fuse_conn *fc)
* Read a single request into the userspace filesystem's buffer. This
* function waits until a request is available, then removes it from
* the pending list and copies request data to userspace buffer. If
* no reply is needed (FORGET) or request has been interrupted or
* there was an error during the copying then it's finished by calling
* no reply is needed (FORGET) or request has been aborted or there
* was an error during the copying then it's finished by calling
* request_end(). Otherwise add it to the processing list, and set
* the 'sent' flag.
*/
Expand Down Expand Up @@ -645,10 +645,10 @@ static ssize_t fuse_dev_readv(struct file *file, const struct iovec *iov,
fuse_copy_finish(&cs);
spin_lock(&fc->lock);
req->locked = 0;
if (!err && req->interrupted)
if (!err && req->aborted)
err = -ENOENT;
if (err) {
if (!req->interrupted)
if (!req->aborted)
req->out.h.error = -EIO;
request_end(fc, req);
return err;
Expand Down Expand Up @@ -754,7 +754,7 @@ static ssize_t fuse_dev_writev(struct file *file, const struct iovec *iov,
if (!req)
goto err_unlock;

if (req->interrupted) {
if (req->aborted) {
spin_unlock(&fc->lock);
fuse_copy_finish(&cs);
spin_lock(&fc->lock);
Expand All @@ -773,9 +773,9 @@ static ssize_t fuse_dev_writev(struct file *file, const struct iovec *iov,
spin_lock(&fc->lock);
req->locked = 0;
if (!err) {
if (req->interrupted)
if (req->aborted)
err = -ENOENT;
} else if (!req->interrupted)
} else if (!req->aborted)
req->out.h.error = -EIO;
request_end(fc, req);

Expand Down Expand Up @@ -835,7 +835,7 @@ static void end_requests(struct fuse_conn *fc, struct list_head *head)
/*
* Abort requests under I/O
*
* The requests are set to interrupted and finished, and the request
* The requests are set to aborted and finished, and the request
* waiter is woken up. This will make request_wait_answer() wait
* until the request is unlocked and then return.
*
Expand All @@ -850,7 +850,7 @@ static void end_io_requests(struct fuse_conn *fc)
list_entry(fc->io.next, struct fuse_req, list);
void (*end) (struct fuse_conn *, struct fuse_req *) = req->end;

req->interrupted = 1;
req->aborted = 1;
req->out.h.error = -ECONNABORTED;
req->state = FUSE_REQ_FINISHED;
list_del_init(&req->list);
Expand Down Expand Up @@ -883,9 +883,8 @@ static void end_io_requests(struct fuse_conn *fc)
* onto the pending list is prevented by req->connected being false.
*
* Progression of requests under I/O to the processing list is
* prevented by the req->interrupted flag being true for these
* requests. For this reason requests on the io list must be aborted
* first.
* prevented by the req->aborted flag being true for these requests.
* For this reason requests on the io list must be aborted first.
*/
void fuse_abort_conn(struct fuse_conn *fc)
{
Expand Down
4 changes: 2 additions & 2 deletions fs/fuse/fuse_i.h
Original file line number Diff line number Diff line change
Expand Up @@ -159,8 +159,8 @@ struct fuse_req {
/** Force sending of the request even if interrupted */
unsigned force:1;

/** The request was interrupted */
unsigned interrupted:1;
/** The request was aborted */
unsigned aborted:1;

/** Request is sent in the background */
unsigned background:1;
Expand Down

0 comments on commit f9a2842

Please sign in to comment.