forked from mirrors/linux
		
	 bb0a55bb71
			
		
	
	
		bb0a55bb71
		
	
	
	
	
		
			
			In the reexport case, nfsd is currently passing along locks with the reclaim bit set. The client sends a new lock request, which is granted if there's currently no conflict--even if it's possible a conflicting lock could have been briefly held in the interim. We don't currently have any way to safely grant reclaim, so for now let's just deny them all. I'm doing this by passing the reclaim bit to nfs and letting it fail the call, with the idea that eventually the client might be able to do something more forgiving here. Signed-off-by: J. Bruce Fields <bfields@redhat.com> Acked-by: Anna Schumaker <Anna.Schumaker@Netapp.com> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
		
			
				
	
	
		
			36 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0 */
 | |
| #ifndef _LINUX_ERRNO_H
 | |
| #define _LINUX_ERRNO_H
 | |
| 
 | |
| #include <uapi/linux/errno.h>
 | |
| 
 | |
| 
 | |
| /*
 | |
|  * These should never be seen by user programs.  To return one of ERESTART*
 | |
|  * codes, signal_pending() MUST be set.  Note that ptrace can observe these
 | |
|  * at syscall exit tracing, but they will never be left for the debugged user
 | |
|  * process to see.
 | |
|  */
 | |
| #define ERESTARTSYS	512
 | |
| #define ERESTARTNOINTR	513
 | |
| #define ERESTARTNOHAND	514	/* restart if no handler.. */
 | |
| #define ENOIOCTLCMD	515	/* No ioctl command */
 | |
| #define ERESTART_RESTARTBLOCK 516 /* restart by calling sys_restart_syscall */
 | |
| #define EPROBE_DEFER	517	/* Driver requests probe retry */
 | |
| #define EOPENSTALE	518	/* open found a stale dentry */
 | |
| #define ENOPARAM	519	/* Parameter not supported */
 | |
| 
 | |
| /* Defined for the NFSv3 protocol */
 | |
| #define EBADHANDLE	521	/* Illegal NFS file handle */
 | |
| #define ENOTSYNC	522	/* Update synchronization mismatch */
 | |
| #define EBADCOOKIE	523	/* Cookie is stale */
 | |
| #define ENOTSUPP	524	/* Operation is not supported */
 | |
| #define ETOOSMALL	525	/* Buffer or request is too small */
 | |
| #define ESERVERFAULT	526	/* An untranslatable error occurred */
 | |
| #define EBADTYPE	527	/* Type not supported by server */
 | |
| #define EJUKEBOX	528	/* Request initiated, but will not complete before timeout */
 | |
| #define EIOCBQUEUED	529	/* iocb queued, will get completion event */
 | |
| #define ERECALLCONFLICT	530	/* conflict with recalled state */
 | |
| #define ENOGRACE	531	/* NFS file lock reclaim refused */
 | |
| 
 | |
| #endif
 |