VFS之inode操作

Linux 内核中针对索引节点其需要提供的索引节点操作,一般是具体文件系统提供

struct inode_operations {  struct dentry * (*lookup) (struct inode *,struct dentry *, unsigned int);  const char * (*get_link) (struct dentry *, struct inode *, struct delayed_call *);  int (*permission) (struct inode *, int);  struct posix_acl * (*get_acl)(struct inode *, int);

 int (*readlink) (struct dentry *, char __user *,int);

 int (*create) (struct inode *,struct dentry *, umode_t, bool);  int (*link) (struct dentry *,struct inode *,struct dentry *);  int (*unlink) (struct inode *,struct dentry *);  int (*symlink) (struct inode *,struct dentry *,const char *);  int (*mkdir) (struct inode *,struct dentry *,umode_t);  int (*rmdir) (struct inode *,struct dentry *);  int (*mknod) (struct inode *,struct dentry *,umode_t,dev_t);  int (*rename) (struct inode *, struct dentry *,    struct inode *, struct dentry *, unsigned int);  int (*setattr) (struct dentry *, struct iattr *);  int (*getattr) (struct vfsmount *mnt, struct dentry *, struct kstat *);  ssize_t (*listxattr) (struct dentry *, char *, size_t);  int (*fiemap)(struct inode *, struct fiemap_extent_info *, u64 start,         u64 len);  int (*update_time)(struct inode *, struct timespec *, int);  int (*atomic_open)(struct inode *, struct dentry *,       struct file *, unsigned open_flag,       umode_t create_mode, int *opened);  int (*tmpfile) (struct inode *, struct dentry *, umode_t);  int (*set_acl)(struct inode *, struct posix_acl *, int); } ____cacheline_aligned;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值