美文网首页
一次寻根之旅

一次寻根之旅

作者: 海铭威_38cf | 来源:发表于2019-06-14 10:16 被阅读0次

    问题描述:自己做了一个文件系统,在一定情况下文件读取会报错,尝试了很多错误值,但是windows总报权限错误
    1.确定文件系统返回值:利用strace查看调用过程
    首先通过smbstatus查找到链接samba的进程号


    查看samba状态.png ps&strace.png

    通过strace的输出可以看到文件系统的返回值为EBUSY


    process.png

    2.windows samba收到的错误码:利用Wireshark跟踪到windows侧收到的错误码为NT_STATUS_ACCESS_DENIED


    Wireshark.png

    3.samba 源码调查:通过上面两步确定到linux文件系统的返回值跟windows侧收到的错误码不一样。然后在samba的源码中查找了一下,发现有一个错误码的对照表Errmap_unix.c。

    总结:linux fs的错误码与windows收到的错误码部分对照表

    Linux fs windows
    EAGAIN NT_STATUS_NETWORK_BUSY
    EINTR NT_STATUS_RETRY
    EPERM NT_STATUS_ACCESS_DENIED
    EIO NT_STATUS_IO_DEVICE_ERROR
    EEXIST NT_STATUS_OBJECT_NAME_COLLISION

    相关文章

      网友评论

          本文标题:一次寻根之旅

          本文链接:https://www.haomeiwen.com/subject/fvgitctx.html