ganesha 编辑文件过程

编辑文件abcd (Vim  abcd)  ganesha执行过程分析:

1._OP_LOOKUP abcd 返回 NFS4ERR_NOENT 正常

2.执行_OP_OPEN .abcd.swp(OPEN4_NOCREATE),(返回一次fsal_lookup失败)返回NFS4ERR_NOENT 正常

因为在open4_ex中判断arg->openhow.opentype != OPEN4_CREATE(此处为OPEN4_NOCREATE)所以比第3步提前退出。


3.再次执行_OP_OPEN  .abcd.swp(OPEN4_CREATE),(返回两次lookup失败)打开成功。
前面执行流程与第二步骤一样,所以这里会lookuo失败两次。


4.执行_OP_OPEN .abcd.swpx,(返回一次fsal_lookup失败)返回NFS4ERR_NOENT 正常

5.再次执行_OP_OPEN  .abcd.swpx,(返回两次lookup失败)打开成功

6.Remove  .abcd.swpx 正常

7.Lookup .abcd.spwx 返回NFS4ERR_NOENT 正常

8.Remove  .abcd.swp  正常

9.Lookup .abcd.spx 返回NFS4ERR_NOENT 正常

注:
执性open两次区别:opetype第一次OPEN4_NOCREATE,第二次OPEN4_CREATE
Vim 过程2:中途会删除.swpx .swp文件
CREATE-/home/mnt2/.abcd.swp
CREATE-/home/mnt2/.abcd.swpx
DELETE-/home/mnt2/.abcd.swpx
DELETE-/home/mnt2/.abcd.swp
CREATE-/home/mnt2/.abcd.swp
MODIFY-/home/mnt2/.abcd.swp
MODIFY-/home/mnt2/.abcd.swp
测试脚本:
inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format  '%T %w%f %e' --event modify,delete,create,attrib  /home/mnt2 | while read  date time file event
  do
      case $event in
          MODIFY|CREATE|MOVE|MODIFY,ISDIR|CREATE,ISDIR|MODIFY,ISDIR)
                  echo $event'-'$file
              ;;
 
          MOVED_FROM|MOVED_FROM,ISDIR|DELETE|DELETE,ISDIR)
                  echo $event'-'$file
              ;;
      esac
done

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值