gluster文件锁的实现

  1.          主要阅读了服务端Locks xlators的实现,由于是分布式系统,client应该对锁应该也有一定的处理。还未深入了解,后续进一步研究后进行补充。





1.1    数据结构


  1. 锁的类型:__posix_lock/__pl_inode_lock/__entry_lock,成员比较类似,重要的数据成员(最后三个成员用来标记加锁的源:客户端和进程):


  • struct list_head   list;   插入Inodeext_list

  • short  fl_type;

  • off_t  fl_start;

  • off_t  fl_end;

  • short blocked:  锁是否在阻塞状态

  • fd_num;    fd对象的指针值转换为ulong类型

  • fd_t* fd;

  • blkd_time;   进入blkd list的时间

  • granted_time; 进入active list的时间

  • transport;     表示客户端

  • owner;

  • client_pid;    客户端进程PID


  1. Inode数据结构__pl_inode


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值