diff options
Diffstat (limited to 'fs')
| -rw-r--r-- | fs/nfsd/auth.c | 6 | ||||
| -rw-r--r-- | fs/orangefs/devorangefs-req.c | 3 | ||||
| -rw-r--r-- | fs/orangefs/waitqueue.c | 4 | 
3 files changed, 7 insertions, 6 deletions
diff --git a/fs/nfsd/auth.c b/fs/nfsd/auth.c index f650e475d8f0..fdf2aad73470 100644 --- a/fs/nfsd/auth.c +++ b/fs/nfsd/auth.c @@ -60,10 +60,10 @@ int nfsd_setuser(struct svc_rqst *rqstp, struct svc_export *exp)  				gi->gid[i] = exp->ex_anon_gid;  			else  				gi->gid[i] = rqgi->gid[i]; - -			/* Each thread allocates its own gi, no race */ -			groups_sort(gi);  		} + +		/* Each thread allocates its own gi, no race */ +		groups_sort(gi);  	} else {  		gi = get_group_info(rqgi);  	} diff --git a/fs/orangefs/devorangefs-req.c b/fs/orangefs/devorangefs-req.c index ded456f17de6..c584ad8d023c 100644 --- a/fs/orangefs/devorangefs-req.c +++ b/fs/orangefs/devorangefs-req.c @@ -162,7 +162,7 @@ static ssize_t orangefs_devreq_read(struct file *file,  	struct orangefs_kernel_op_s *op, *temp;  	__s32 proto_ver = ORANGEFS_KERNEL_PROTO_VERSION;  	static __s32 magic = ORANGEFS_DEVREQ_MAGIC; -	struct orangefs_kernel_op_s *cur_op = NULL; +	struct orangefs_kernel_op_s *cur_op;  	unsigned long ret;  	/* We do not support blocking IO. */ @@ -186,6 +186,7 @@ static ssize_t orangefs_devreq_read(struct file *file,  		return -EAGAIN;  restart: +	cur_op = NULL;  	/* Get next op (if any) from top of list. */  	spin_lock(&orangefs_request_list_lock);  	list_for_each_entry_safe(op, temp, &orangefs_request_list, list) { diff --git a/fs/orangefs/waitqueue.c b/fs/orangefs/waitqueue.c index 835c6e148afc..0577d6dba8c8 100644 --- a/fs/orangefs/waitqueue.c +++ b/fs/orangefs/waitqueue.c @@ -29,10 +29,10 @@ static void orangefs_clean_up_interrupted_operation(struct orangefs_kernel_op_s   */  void purge_waiting_ops(void)  { -	struct orangefs_kernel_op_s *op; +	struct orangefs_kernel_op_s *op, *tmp;  	spin_lock(&orangefs_request_list_lock); -	list_for_each_entry(op, &orangefs_request_list, list) { +	list_for_each_entry_safe(op, tmp, &orangefs_request_list, list) {  		gossip_debug(GOSSIP_WAIT_DEBUG,  			     "pvfs2-client-core: purging op tag %llu %s\n",  			     llu(op->tag),  | 

