SYTest
(버전 사이의 차이)
259번째 줄: | 259번째 줄: | ||
inode --> rcu_head | inode --> rcu_head | ||
inode --> file_lock | inode --> file_lock | ||
+ | |||
+ | class inode_operations << (S,#77FF00)/linux/fs.h>> { | ||
+ | struct dentry * (*lookup) (struct inode *,struct dentry *, unsigned int); | ||
+ | void * (*follow_link) (struct dentry *, struct nameidata *); | ||
+ | int (*permission) (struct inode *, int); | ||
+ | struct posix_acl * (*get_acl)(struct inode *, int); | ||
+ | int (*readlink) (struct dentry *, char __user *,int); | ||
+ | void (*put_link) (struct dentry *, struct nameidata *, void *); | ||
+ | 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 *); | ||
+ | int (*setattr) (struct dentry *, struct iattr *); | ||
+ | int (*getattr) (struct vfsmount *mnt, struct dentry *, struct kstat *); | ||
+ | int (*setxattr) (struct dentry *, const char *,const void *,size_t,int); | ||
+ | ssize_t (*getxattr) (struct dentry *, const char *, void *, size_t); | ||
+ | ssize_t (*listxattr) (struct dentry *, char *, size_t); | ||
+ | int (*removexattr) (struct dentry *, const char *); | ||
+ | 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); | ||
+ | } | ||
+ | inode_operations --> dentry | ||
+ | inode_operations --> posix_acl | ||
+ | |||
+ | class dentry<< (S,#77FF00)/linux/dcache.h >> { | ||
+ | unsigned int d_flags; | ||
+ | seqcount_t d_seq; | ||
+ | struct hlist_bl_node d_hash; | ||
+ | struct dentry *d_parent; | ||
+ | struct qstr d_name; | ||
+ | struct inode *d_inode; | ||
+ | unsigned char d_iname[DNAME_INLINE_LEN]; | ||
+ | struct lockref d_lockref; | ||
+ | const struct dentry_operations *d_op; | ||
+ | struct super_block *d_sb; | ||
+ | unsigned long d_time; | ||
+ | void *d_fsdata; | ||
+ | struct list_head d_lru; | ||
+ | union { | ||
+ | struct list_head d_child; | ||
+ | struct rcu_head d_rcu; | ||
+ | } d_u; | ||
+ | struct list_head d_subdirs; | ||
+ | struct hlist_node d_alias; | ||
+ | } | ||
+ | dentry --> hlist_bl_node | ||
+ | dentry --> qstr | ||
+ | dentry --> inode | ||
+ | dentry --> lockref | ||
+ | dentry --> super_block | ||
+ | dentry --> list_head | ||
+ | dentry --> rcu_head | ||
+ | dentry --> hlist_node | ||
+ | |||
+ | |||
+ | class hlist_bl_node << (S,#77FF00)/linux/list_bl.h >> { | ||
+ | struct hlist_bl_node *next, **pprev; | ||
+ | } | ||
+ | |||
+ | class qstr << (S,#77FF00)/linux/dcache.h >> { | ||
+ | union { | ||
+ | struct { | ||
+ | HASH_LEN_DECLARE; | ||
+ | }; | ||
+ | u64 hash_len; | ||
+ | }; | ||
+ | const unsigned char *name; | ||
+ | } | ||
+ | |||
+ | class lockref << (S,#77FF00)/linux/lockref.h >> { | ||
+ | struct { | ||
+ | spinlock_t lock; | ||
+ | unsigned int count; | ||
+ | }; | ||
+ | } | ||
+ | |||
+ | |||
+ | class posix_acl << (S,#77FF00)/linux/posix_acl.h >> { | ||
+ | union { | ||
+ | atomic_t a_refcount; | ||
+ | struct rcu_head a_rcu; | ||
+ | }; | ||
+ | unsigned int a_count; | ||
+ | struct posix_acl_entry a_entries[0]; | ||
+ | } | ||
+ | posix_acl --> posix_acl_entry | ||
+ | |||
+ | |||
+ | class posix_acl_entry << (S,#77FF00)/linux/posix_acl.h >> { | ||
+ | short e_tag; | ||
+ | unsigned short e_perm; | ||
+ | union { | ||
+ | kuid_t e_uid; | ||
+ | kgid_t e_gid; | ||
+ | }; | ||
+ | } | ||
+ | |||
+ | |||
+ | class super_block << (S,#77FF00)/linux/fs.h >> { | ||
+ | struct list_head s_list; | ||
+ | dev_t s_dev; | ||
+ | unsigned char s_blocksize_bits; | ||
+ | unsigned long s_blocksize; | ||
+ | loff_t s_maxbytes; | ||
+ | struct file_system_type *s_type; | ||
+ | const struct super_operations *s_op; | ||
+ | const struct dquot_operations *dq_op; | ||
+ | const struct quotactl_ops *s_qcop; | ||
+ | const struct export_operations *s_export_op; | ||
+ | unsigned long s_flags; | ||
+ | unsigned long s_magic; | ||
+ | struct dentry *s_root; | ||
+ | struct rw_semaphore s_umount; | ||
+ | int s_count; | ||
+ | atomic_t s_active; | ||
+ | const struct xattr_handler **s_xattr; | ||
+ | struct list_head s_inodes; | ||
+ | struct hlist_bl_head s_anon; | ||
+ | struct list_head s_mounts; | ||
+ | struct block_device *s_bdev; | ||
+ | struct backing_dev_info *s_bdi; | ||
+ | struct mtd_info *s_mtd; | ||
+ | struct hlist_node s_instances; | ||
+ | struct quota_info s_dquot; | ||
+ | struct sb_writers s_writers; | ||
+ | char s_id[32]; | ||
+ | u8 s_uuid[16]; | ||
+ | void *s_fs_info; | ||
+ | unsigned int s_max_links; | ||
+ | fmode_t s_mode; | ||
+ | u32 s_time_gran; | ||
+ | struct mutex s_vfs_rename_mutex; | ||
+ | char *s_subtype; | ||
+ | char __rcu *s_options; | ||
+ | const struct dentry_operations *s_d_op; | ||
+ | int cleancache_poolid; | ||
+ | struct shrinker s_shrink; | ||
+ | atomic_long_t s_remove_count; | ||
+ | int s_readonly_remount; | ||
+ | struct workqueue_struct *s_dio_done_wq; | ||
+ | struct list_lru s_dentry_lru ____cacheline_aligned_in_smp; | ||
+ | struct list_lru s_inode_lru ____cacheline_aligned_in_smp; | ||
+ | struct rcu_head rcu; | ||
+ | } | ||
+ | super_block --> list_head | ||
+ | super_block --> file_system_type | ||
+ | super_block --> super_operations | ||
+ | super_block --> dquot_operations | ||
+ | super_block --> quotactl_ops | ||
+ | super_block --> export_operations | ||
+ | super_block --> xattr_handler | ||
+ | super_block --> hlist_bl_head | ||
+ | super_block --> block_device | ||
+ | super_block --> backing_dev_info | ||
+ | super_block --> mtd_info | ||
+ | super_block --> quota_info | ||
+ | super_block --> sb_writers | ||
+ | super_block --> mutex | ||
+ | super_block --> dentry_operations | ||
+ | super_block --> shrinker | ||
+ | super_block --> workqueue_struct | ||
+ | super_block --> list_lru | ||
+ | |||
+ | class file_system_type << (S,#77FF00)/linux/fs.h >> { | ||
+ | const char *name; | ||
+ | int fs_flags; | ||
+ | struct dentry *(*mount) (struct file_system_type *, int, | ||
+ | const char *, void *); | ||
+ | void (*kill_sb) (struct super_block *); | ||
+ | struct module *owner; | ||
+ | struct file_system_type * next; | ||
+ | struct hlist_head fs_supers; | ||
+ | struct lock_class_key s_lock_key; | ||
+ | struct lock_class_key s_umount_key; | ||
+ | struct lock_class_key s_vfs_rename_key; | ||
+ | struct lock_class_key s_writers_key[SB_FREEZE_LEVELS]; | ||
+ | struct lock_class_key i_lock_key; | ||
+ | struct lock_class_key i_mutex_key; | ||
+ | struct lock_class_key i_mutex_dir_key; | ||
+ | } | ||
+ | file_system_type --> dentry | ||
+ | file_system_type --> module | ||
+ | file_system_type --> hlist_head | ||
+ | file_system_type --> lock_class_key | ||
+ | |||
+ | |||
+ | class module << (S,#77FF00)/mod/modpost.h >> { | ||
+ | struct module *next; | ||
+ | const char *name; | ||
+ | int gpl_compatible; | ||
+ | struct symbol *unres; | ||
+ | int seen; | ||
+ | int skip; | ||
+ | int has_init; | ||
+ | int has_cleanup; | ||
+ | struct buffer dev_table_buf; | ||
+ | char srcversion[25]; | ||
+ | int is_dot_o; | ||
+ | } | ||
+ | module --> symbol | ||
+ | module --> buffer | ||
+ | |||
+ | |||
+ | class symbol << (S,#77FF00)/mod/modpost.h >> { | ||
+ | struct symbol *next; | ||
+ | struct module *module; | ||
+ | unsigned int crc; | ||
+ | int crc_valid; | ||
+ | unsigned int weak:1; | ||
+ | unsigned int vmlinux:1; | ||
+ | unsigned int kernel:1; | ||
+ | unsigned int preloaded:1; | ||
+ | enum export export; | ||
+ | char name[0]; | ||
+ | } | ||
+ | symbol --> module | ||
+ | |||
+ | |||
+ | class buffer << (S,#77FF00)/mod/modpost.h >> { | ||
+ | char *p; | ||
+ | int pos; | ||
+ | int size; | ||
+ | } | ||
+ | |||
+ | class hlist_head << (S,#77FF00)/linux/types.h >> { | ||
+ | struct hlist_node *first; | ||
+ | } | ||
+ | hlist_head --> hlist_node | ||
+ | |||
+ | class lock_class_key << (S,#77FF00)/linux/lockdep.h >> { | ||
+ | struct lockdep_subclass_key subkeys[MAX_LOCKDEP_SUBCLASSES]; | ||
+ | } | ||
+ | lock_class_key --> lockdep_subclass_key | ||
+ | |||
+ | |||
+ | class lockdep_subclass_key << (S,#77FF00)/linux/lockdep.h >> { | ||
+ | char __one_byte; | ||
+ | } | ||
+ | |||
+ | |||
+ | class super_operations<< (S,#77FF00)/linux/fs.h >> { | ||
+ | struct inode *(*alloc_inode)(struct super_block *sb); | ||
+ | void (*destroy_inode)(struct inode *); | ||
+ | void (*dirty_inode) (struct inode *, int flags); | ||
+ | int (*write_inode) (struct inode *, struct writeback_control *wbc); | ||
+ | int (*drop_inode) (struct inode *); | ||
+ | void (*evict_inode) (struct inode *); | ||
+ | void (*put_super) (struct super_block *); | ||
+ | int (*sync_fs)(struct super_block *sb, int wait); | ||
+ | int (*freeze_fs) (struct super_block *); | ||
+ | int (*unfreeze_fs) (struct super_block *); | ||
+ | int (*statfs) (struct dentry *, struct kstatfs *); | ||
+ | int (*remount_fs) (struct super_block *, int *, char *); | ||
+ | void (*umount_begin) (struct super_block *); | ||
+ | int (*show_options)(struct seq_file *, struct dentry *); | ||
+ | int (*show_devname)(struct seq_file *, struct dentry *); | ||
+ | int (*show_path)(struct seq_file *, struct dentry *); | ||
+ | int (*show_stats)(struct seq_file *, struct dentry *); | ||
+ | } | ||
+ | super_operations --> inode | ||
+ | |||
+ | |||
+ | class dquot_operations << (S,#77FF00) >> { | ||
+ | |||
+ | } | ||
+ | |||
+ | class quotactl_ops << (S,#77FF00) >> { | ||
+ | |||
+ | } | ||
+ | |||
+ | class export_operations<< (S,#77FF00) >> { | ||
+ | |||
+ | } | ||
+ | |||
+ | class xattr_handler<< (S,#77FF00) >> { | ||
+ | |||
+ | } | ||
+ | |||
+ | class hlist_bl_head << (S,#77FF00) >> { | ||
+ | |||
+ | } | ||
+ | class block_device << (S,#77FF00) >> { | ||
+ | |||
+ | } | ||
+ | |||
+ | class mtd_info << (S,#77FF00) >> { | ||
+ | |||
+ | } | ||
+ | |||
+ | class quota_info << (S,#77FF00) >> { | ||
+ | |||
+ | } | ||
+ | |||
+ | class sb_writers << (S,#77FF00) >> { | ||
+ | |||
+ | } | ||
+ | |||
+ | class dentry_operations << (S,#77FF00) >> { | ||
+ | |||
+ | } | ||
+ | |||
+ | class shrinker << (S,#77FF00) >> { | ||
+ | |||
+ | } | ||
+ | |||
+ | class list_lru << (S,#77FF00) >> { | ||
+ | |||
+ | } | ||
+ | |||
+ | |||
+ | class backing_dev_info << (S,#77FF00) >> { | ||
+ | |||
+ | } | ||
+ | |||
+ | class timespec << (S,#77FF00)can't find >> { | ||
+ | |||
+ | } | ||
+ | |||
+ | class file_lock << (S,#77FF00)can't find >> { | ||
+ | |||
+ | } | ||
+ | |||
+ | class backing_dev_info << (S,#77FF00)can't find >> { | ||
+ | |||
+ | } | ||
364번째 줄: | 696번째 줄: | ||
struct list_head all_q_node; | struct list_head all_q_node; | ||
} | } | ||
− | + | request_queue --> list_head | |
+ | request_queue --> request | ||
+ | request_queue --> elevator_queue | ||
+ | request_queue --> request_list | ||
+ | request_queue --> blk_mq_ops | ||
+ | request_queue --> blk_mq_ctx | ||
+ | request_queue --> delayed_work | ||
+ | request_queue --> backing_dev_info | ||
+ | request_queue --> kobject | ||
+ | request_queue --> blk_queue_tag | ||
+ | request_queue --> timer_list | ||
+ | request_queue --> queue_limits | ||
+ | request_queue --> mutex | ||
+ | request_queue --> rcu_head | ||
+ | request_queue --> percpu_counter | ||
400번째 줄: | 746번째 줄: | ||
bool offline:1; | bool offline:1; | ||
} | } | ||
+ | device --> device_private | ||
+ | device --> kobject | ||
+ | device --> device_type | ||
+ | device --> mutex | ||
+ | device --> bus_type | ||
+ | device --> device_driver | ||
+ | device --> dev_pm_info | ||
+ | device --> dev_pm_domain | ||
+ | device --> device_dma_parameters | ||
+ | device --> list_head | ||
+ | device --> dma_coherent_mem | ||
+ | device --> dev_archdata | ||
+ | device --> device_node | ||
+ | device --> acpi_dev_node | ||
+ | device --> klist_node | ||
+ | device --> class | ||
+ | device --> attribute_group | ||
+ | device --> device | ||
+ | device --> iommu_group | ||
+ | |||
409번째 줄: | 775번째 줄: | ||
const char *(* info)(struct Scsi_Host *); | const char *(* info)(struct Scsi_Host *); | ||
int (* ioctl)(struct scsi_device *dev, int cmd, void __user *arg); | int (* ioctl)(struct scsi_device *dev, int cmd, void __user *arg); | ||
− | |||
} | } | ||
+ | scsi_host_template --> module | ||
432번째 줄: | 798번째 줄: | ||
struct bio_vec bi_inline_vecs[0]; | struct bio_vec bi_inline_vecs[0]; | ||
} | } | ||
+ | bio --> block_device | ||
+ | bio --> bvec_iter | ||
+ | bio --> bio_vec | ||
+ | bio --> bio_set | ||
495번째 줄: | 865번째 줄: | ||
struct request *next_rq; | struct request *next_rq; | ||
} | } | ||
+ | request --> list_head | ||
+ | request --> call_single_data | ||
+ | request --> work_struct | ||
+ | request --> request_queue | ||
+ | request --> blk_mq_ctx | ||
+ | request --> bio | ||
+ | request --> hlist_node | ||
+ | request --> rb_node | ||
+ | request --> io_cq | ||
+ | request --> gendisk | ||
+ | request --> hd_struct | ||
+ | |||
class blk_plug << (S,#FF7700)/linux/blkdev.h >> { | class blk_plug << (S,#FF7700)/linux/blkdev.h >> { | ||
502번째 줄: | 884번째 줄: | ||
struct list_head cb_list; | struct list_head cb_list; | ||
} | } | ||
+ | blk_plug --> list_head | ||
class scsi_device << (S,#FF7700)/scsi/scsi_device >> { | class scsi_device << (S,#FF7700)/scsi/scsi_device >> { | ||
586번째 줄: | 969번째 줄: | ||
unsigned int max_device_blocked; | unsigned int max_device_blocked; | ||
} | } | ||
+ | scsi_device --> Scsi_Host | ||
+ | scsi_device --> request_queue | ||
+ | scsi_device --> list_head | ||
+ | scsi_device --> scsi_cmnd | ||
+ | scsi_device --> scsi_target | ||
+ | scsi_device --> work_struct | ||
+ | |||
class scsi_cmnd << (S,#FF7700)/scsi/scsi_cmnd.h >> { | class scsi_cmnd << (S,#FF7700)/scsi/scsi_cmnd.h >> { |
2014년 5월 12일 (월) 09:20 판
[An error occured in PlantUML extension]