[PATCH] s3-lib: Fix error mapping for EROFS

Andreas Schneider asn at samba.org
Thu Sep 7 15:04:36 UTC 2017


On Thursday, 7 September 2017 13:49:49 CEST Sachin Prabhu via samba-technical 
wrote:
> EROFS is incorrectly mapped to NT_STATUS_ACCESS_DENIED. This should
> instead be mapped to NT_STATUS_MEDIA_WRITE_PROTECTED.
> 
> This change has already been done for the client in
> unix_nt_errmap in libcli/util/errmap_unix.c
> commit 9d055846f225 ("r3278: - rewrote the client side rpc...)")
> 
> SMB1 specs for SMB_COM_DELETE also specifies this mapping for EROFS
> https://msdn.microsoft.com/en-us/library/ee441772.aspx
> 
> RH bz: 1171705
> This problem was reported by Red Hat glusterfs QE who encountered
> different errors when performing the same operation on a fuse mount and
> on a cifs mount of the same underlying gluster filesystem.
> 
> Signed-off-by: Sachin Prabhu <sprabhu at redhat.com>
> Reviewed-by: Gunther Deschner <gdeschne at redhat.com>
> Reported-by: Surabhi Bhalothia <sbhaloth at redhat.com>
> ---
>  source3/lib/errmap_unix.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/source3/lib/errmap_unix.c b/source3/lib/errmap_unix.c
> index f572b99d666..9eb30f7b814 100644
> --- a/source3/lib/errmap_unix.c
> +++ b/source3/lib/errmap_unix.c
> @@ -71,7 +71,7 @@ static const struct {
>  	{ EXDEV,        NT_STATUS_NOT_SAME_DEVICE },
>  #endif
>  #ifdef EROFS
> -	{ EROFS,        NT_STATUS_ACCESS_DENIED },
> +	{ EROFS,        NT_STATUS_MEDIA_WRITE_PROTECTED },
>  #endif
>  #ifdef ENAMETOOLONG
>  	{ ENAMETOOLONG, NT_STATUS_OBJECT_NAME_INVALID },


RB+

-- 
Andreas Schneider                   GPG-ID: CC014E3D
Samba Team                             asn at samba.org
www.samba.org



More information about the samba-technical mailing list