From 87065519633af79e0577e32a58dcd9cf3c45a8a0 Mon Sep 17 00:00:00 2001 From: Jan Harkes Date: Thu, 19 Jul 2007 01:48:45 -0700 Subject: coda: cleanup /dev/cfs open and close handling - Make sure device index is not a negative number. - Unlink queued requests when the device is closed to avoid passing them to the next opener. Signed-off-by: Jan Harkes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- fs/coda/upcall.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'fs/coda/upcall.c') diff --git a/fs/coda/upcall.c b/fs/coda/upcall.c index 1651b918219a..a44ca4155fd5 100644 --- a/fs/coda/upcall.c +++ b/fs/coda/upcall.c @@ -641,8 +641,7 @@ int venus_statfs(struct dentry *dentry, struct kstatfs *sfs) * */ -static inline void coda_waitfor_upcall(struct upc_req *vmp, - struct venus_comm *vcommp) +static inline void coda_waitfor_upcall(struct upc_req *vmp) { DECLARE_WAITQUEUE(wait, current); @@ -655,10 +654,6 @@ static inline void coda_waitfor_upcall(struct upc_req *vmp, else set_current_state(TASK_UNINTERRUPTIBLE); - /* venus died */ - if ( !vcommp->vc_inuse ) - break; - /* got a reply */ if ( vmp->uc_flags & ( REQ_WRITE | REQ_ABORT ) ) break; @@ -738,7 +733,7 @@ static int coda_upcall(struct coda_sb_info *sbi, * ENODEV. */ /* Go to sleep. Wake up on signals only after the timeout. */ - coda_waitfor_upcall(req, vcommp); + coda_waitfor_upcall(req); if (vcommp->vc_inuse) { /* i.e. Venus is still alive */ /* Op went through, interrupt or not... */ -- cgit v1.2.3-59-g8ed1b