超级块操作

struct   super_operations   {
 
/* 给定的超级块下创建和初始化一个新的索引节点对象;*/
struct   inode   * ( * alloc_inode ) ( struct   super_block   * sb ) ;
 
/* 用于释放给定的索引节点;*/
void   ( * destroy_inode ) ( struct   inode   * ) ;
 
/* VFS在索引节点脏(被修改)时会调用此函数。
日志文件系统(如ext3,ext4)执行该函数进行日志更新;*/
void   ( * dirty_inode )   ( struct   inode   * ) ;
 
/* 用于将给定的索引节点写入磁盘。
wait参数指明写操作是否需要同步; */
int   ( * write_inode )   ( struct   inode   * ,
struct   writeback_control   * wbc ) ;
 
/* 在最后一个指向索引节点的引用被释放后,VFS会调用该函数。
VFS只需要简单地删除这个索引节点后,
普通Uinx文件系统就不会定义这个函数了;*/
void   ( * drop_inode )   ( struct   inode   * ) ;
 
/* 用于从磁盘上删除给定的索引节点;*/
void   ( * delete_inode )   ( struct   inode   * ) ;
 
/* 在卸载文件系统时由VFS调用,用来释放超级块,
调用者必须一直持有s_lock锁;*/
void   ( * put_super )   ( struct   super_block   * ) ;
 
/* 用给定的超级块更新磁盘上的超级块。
VFS通过该函数对内存中的超级块和磁盘中的超级块进行同步。
调用者必须一直持有s_lock锁;*/
void   ( * write_super )   ( struct   super_block   * ) ;
 
/* 使文件系统的数据元与磁盘上的文件系统同步。
wait参数指定操作是否同步;*/
int   ( * sync_fs ) ( struct   super_block   * sb ,   int   wait ) ;
 
int   ( * freeze_fs )   ( struct   super_block   * ) ;
int   ( * unfreeze_fs )   ( struct   super_block   * ) ;
 
/* VFS通过调用该函数获取文件系统状态。
指定文件系统县官的统计信息将放置在statfs中;*/
int   ( * statfs )   ( struct   dentry   * ,   struct   kstatfs   * ) ;
 
/* 当指定新的安装选项重新安装文件系统时,
VFS会调用该函数。调用者必须一直持有s_lock锁;*/
int   ( * remount_fs )   ( struct   super_block   * ,   int   * ,   char   * ) ;
 
/* VFS调用该函数释放索引节点,
并清空包含相关数据的所有页面;*/
void   ( * clear_inode )   ( struct   inode   * ) ;
 
/* VFS调用该函数中断安装操作。
该函数被网络文件系统使用,如NFS;*/
void   ( * umount_begin )   ( struct   super_block   * ) ;
 
int   ( * show_options ) ( struct   seq_file   * ,   struct   vfsmount   * ) ;
int   ( * show_stats ) ( struct   seq_file   * ,   struct   vfsmount   * ) ;
#ifdef CONFIG_QUOTA
ssize_t   ( * quota_read ) ( struct   super_block   * ,
int ,   char   * ,   size_t ,   loff_t ) ;
ssize_t   ( * quota_write ) ( struct   super_block   * ,
int ,   const   char   * ,   size_t ,   loff_t ) ;
#endif
int   ( * bdev_try_to_free_page ) ( struct   super_block * ,
struct   page * ,   gfp_t ) ;
} ;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值