Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

fs/hpfs/dir.c hpfs_lookup() -> map_dirent()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_op 4096-ptr_max
PARAM_VALUE 0 inode->i_op->atomic_open 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->create 0,4096-ptr_max
PARAM_VALUE 0 inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 inode->i_sb 4096-ptr_max
PARAM_VALUE 3 len 0-s32max
PARAM_VALUE 4 dd 0
PARAM_VALUE 5 qbh 7777795222642487296
BUF_SIZE 2 name s32min-(-2),1-s32max
BUF_SIZE 2 name s32min-(-2),1-s32max
DATA_SOURCE 0 inode $0
BIT_INFO 0 inode->i_flags 0x0,0xffffffef
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_size (-9223372036854775807)-(-4),0-s64max
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
UNITS 1 dno unit_byte
UNITS 2 name unit_byte
UNITS 3 len unit_byte
LOCK2 &sbi->hpfs_mutex
HALF_LOCKED2 0 &inode->i_rwsem

fs/hpfs/namei.c hpfs_rename() -> map_dirent()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_flctx->flc_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 inode->i_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 inode->i_op 4096-ptr_max
PARAM_VALUE 0 inode->i_op->rename 4096-ptr_max
PARAM_VALUE 4 dd 3453727711124025344
PARAM_VALUE 5 qbh 1287390439487766528
BUF_SIZE 2 name s32min-(-2),1-s32max
BUF_SIZE 2 name s32min-(-2),1-s32max
CAPPED_DATA 0 inode 1
DATA_SOURCE 0 inode $1
RX_PATH
TASK_NOT_RUNNING
UNITS 1 dno unit_byte
UNITS 2 name unit_byte
UNITS 3 len unit_byte
LOCK2 &sbi->hpfs_mutex
HALF_LOCKED2 &source->i_rwsem
HALF_LOCKED2 &target->i_rwsem

fs/hpfs/namei.c hpfs_rename() -> map_dirent()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_sb 4096-ptr_max
PARAM_VALUE 2 name 4096-ptr_max
PARAM_VALUE 3 len 0-s32max
PARAM_VALUE 4 dd 0
PARAM_VALUE 5 qbh 8091605300689240064
BUF_SIZE 2 name s32min-(-2),1-s32max
BUF_SIZE 2 name s32min-(-2),1-s32max
CAPPED_DATA 0 inode 1
DATA_SOURCE 0 inode $3
RX_PATH
TASK_NOT_RUNNING
UNITS 1 dno unit_byte
UNITS 2 name unit_byte
UNITS 3 len unit_byte
LOCK2 &sbi->hpfs_mutex
HALF_LOCKED2 &source->i_rwsem
HALF_LOCKED2 &target->i_rwsem

fs/hpfs/namei.c hpfs_rename() -> map_dirent()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_flctx->flc_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 inode->i_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 inode->i_op 4096-ptr_max
PARAM_VALUE 0 inode->i_op->rename 4096-ptr_max
PARAM_VALUE 0 inode->i_sb 4096-ptr_max
PARAM_VALUE 0 inode->i_sb->s_bdev->bd_mapping->i_private_lock.rlock.dep_map->name 0-255
PARAM_VALUE 4 dd 3453727711124025344
PARAM_VALUE 5 qbh 1287390439487766528
BUF_SIZE 2 name s32min-(-2),1-s32max
BUF_SIZE 2 name s32min-(-2),1-s32max
CAPPED_DATA 0 inode 1
CAPPED_DATA 0 inode->i_sb->s_fs_info->n_hotfixes 1
CAPPED_DATA 3 len 1
DATA_SOURCE 0 inode $1
RX_PATH
TASK_NOT_RUNNING
UNITS 1 dno unit_byte
UNITS 2 name unit_byte
UNITS 3 len unit_byte
LOCK2 &sbi->hpfs_mutex
HALF_LOCKED2 &source->i_rwsem
HALF_LOCKED2 &target->i_rwsem

fs/hpfs/namei.c hpfs_rmdir() -> map_dirent()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_flctx->flc_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 inode->i_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 inode->i_op 4096-ptr_max
PARAM_VALUE 0 inode->i_op->rmdir 4096-ptr_max
PARAM_VALUE 0 inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 inode->i_sb 4096-ptr_max
PARAM_VALUE 0 inode->i_sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648
PARAM_VALUE 4 dd 2453316920485838848
PARAM_VALUE 5 qbh 5998597991468331008
BUF_SIZE 2 name s32min-(-2),1-s32max
BUF_SIZE 2 name s32min-(-2),1-s32max
CAPPED_DATA 0 inode 1
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
UNITS 1 dno unit_byte
UNITS 2 name unit_byte
UNITS 3 len unit_byte
LOCK2 &dentry->d_inode->i_rwsem
LOCK2 &sbi->hpfs_mutex
HALF_LOCKED2 &dentry->d_lockref.lock
HALF_LOCKED2 &dentry->d_sb->s_vfs_rename_mutex
HALF_LOCKED2 &dir->d_inode->i_rwsem
HALF_LOCKED2 0 &inode->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

fs/hpfs/namei.c hpfs_unlink() -> map_dirent()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_flctx->flc_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 inode->i_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 inode->i_op 4096-ptr_max
PARAM_VALUE 0 inode->i_op->unlink 4096-ptr_max
PARAM_VALUE 0 inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 inode->i_sb 4096-ptr_max
PARAM_VALUE 0 inode->i_sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648
PARAM_VALUE 4 dd 5125596268434030592
PARAM_VALUE 5 qbh 4527361282712035328
BUF_SIZE 2 name s32min-(-2),1-s32max
BUF_SIZE 2 name s32min-(-2),1-s32max
CAPPED_DATA 0 inode 1
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
UNITS 1 dno unit_byte
UNITS 2 name unit_byte
UNITS 3 len unit_byte
LOCK2 &sbi->hpfs_mutex
LOCK2 &target->i_rwsem
HALF_LOCKED2 &dentry->d_lockref.lock
HALF_LOCKED2 &dentry->d_sb->s_vfs_rename_mutex
HALF_LOCKED2 &dir->d_inode->i_rwsem
HALF_LOCKED2 0 &inode->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

fs/hpfs/super.c hpfs_fill_super() -> map_dirent()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_blocks 0-s32max,18446744071562067968-u64max
PARAM_VALUE 0 inode->i_data.a_ops->bmap 0,4096-ptr_max
PARAM_VALUE 0 inode->i_data.a_ops->direct_IO 0,4096-ptr_max
PARAM_VALUE 0 inode->i_data.a_ops->dirty_folio 0,4096-ptr_max
PARAM_VALUE 0 inode->i_data.a_ops->error_remove_folio 0,373303432983703552,3650281484867371008,6933238642996355072,7934844886813757440
PARAM_VALUE 0 inode->i_data.a_ops->free_folio 0,4096-ptr_max
PARAM_VALUE 0 inode->i_data.a_ops->invalidate_folio 0,4096-ptr_max
PARAM_VALUE 0 inode->i_data.a_ops->is_dirty_writeback 0,7518438349615988736,8867638692533350400
PARAM_VALUE 0 inode->i_data.a_ops->is_partially_uptodate 0,1933474595957665792,7182876493439184896
PARAM_VALUE 0 inode->i_data.a_ops->launder_folio 0,4096-ptr_max
PARAM_VALUE 0 inode->i_data.a_ops->migrate_folio 0,4096-ptr_max
PARAM_VALUE 0 inode->i_data.a_ops->read_folio 0,4096-ptr_max
PARAM_VALUE 0 inode->i_data.a_ops->readahead 0,4096-ptr_max
PARAM_VALUE 0 inode->i_data.a_ops->release_folio 0,4096-ptr_max
PARAM_VALUE 0 inode->i_data.a_ops->swap_activate 0,4096-ptr_max
PARAM_VALUE 0 inode->i_data.a_ops->swap_deactivate 0,1546359495696728064,3888069641387622400,7359158453655175168,8604917376913055744
PARAM_VALUE 0 inode->i_data.a_ops->swap_rw 0,4986685196838862848,8487923053812363264
PARAM_VALUE 0 inode->i_data.a_ops->write_begin 0,4096-ptr_max
PARAM_VALUE 0 inode->i_data.a_ops->write_end 0,4096-ptr_max
PARAM_VALUE 0 inode->i_data.a_ops->writepages 0,4096-ptr_max
PARAM_VALUE 0 inode->i_data.host->i_sb->s_export_op->encode_fh 0,2,1398972869330624512,1616549510479982592,2037984473558433792
PARAM_VALUE 0 inode->i_data.host->i_sb->s_export_op->fh_to_dentry 0,8684,447817974243774464,687732489194512384,742201802719268864
PARAM_VALUE 0 inode->i_data.host->i_sb->s_export_op->fh_to_parent 0,5297,148606482432692224,436469935444291584,467281172929331200
PARAM_VALUE 0 inode->i_data.host->i_sb->s_export_op->get_parent 0,8931,264940071972966400,291591359766798336,565128213429456896
PARAM_VALUE 0 inode->i_dentry.first 4096-ptr_max
PARAM_VALUE 0 inode->i_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 inode->i_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 inode->i_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 inode->i_op->atomic_open 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->create 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->fiemap 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->fileattr_get 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->fileattr_set 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->get_acl 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->get_inode_acl 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->get_link 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->get_offset_ctx 0,2606890545167454208
PARAM_VALUE 0 inode->i_op->getattr 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->link 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->listxattr 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->lookup 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->mkdir 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->mknod 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->permission 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->readlink 0,1728600404483375104,2832489546165891072,2874824064778891264,3069732422725099520,4516337085607264256
PARAM_VALUE 0 inode->i_op->rename 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->rmdir 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->set_acl 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->setattr 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->symlink 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->sync_lazytime 0,6951464784224747520
PARAM_VALUE 0 inode->i_op->tmpfile 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->unlink 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->update_time 0,4096-ptr_max
PARAM_VALUE 0 inode->i_rwsem.count.counter 0
PARAM_VALUE 0 inode->i_rwsem.dep_map->name 0-255
PARAM_VALUE 0 inode->i_rwsem.first_waiter 0
PARAM_VALUE 0 inode->i_rwsem.magic 4096-ptr_max
PARAM_VALUE 0 inode->i_rwsem.osq.tail.counter 0
PARAM_VALUE 0 inode->i_rwsem.owner.counter 0
PARAM_VALUE 0 inode->i_sb 4096-ptr_max
PARAM_VALUE 0 inode->i_sb->__s_d_op 0,4096-ptr_max
PARAM_VALUE 0 inode->i_sb->s_bdev->bd_mapping->i_private_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 inode->i_sb->s_export_op->encode_fh 0,2,1398972869330624512,1616549510479982592,2037984473558433792
PARAM_VALUE 0 inode->i_size s32min-4294967295
PARAM_VALUE 0 inode->i_wb->dwork->timer->entry.pprev 4096-ptr_max
PARAM_VALUE 0 inode->i_wb->work_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 dno 1-u32max
PARAM_VALUE 2 name 817033570115190784
PARAM_VALUE 3 len 2
PARAM_VALUE 4 dd 0
PARAM_VALUE 5 qbh 1772818897161506816
BUF_SIZE 0 inode->i_sb (-1),2880
BUF_SIZE 2 name 3
CAPPED_DATA 0 inode 1
CAPPED_DATA 0 inode->i_ino 1
DATA_SOURCE 0 inode r iget_locked
DATA_SOURCE 1 dno r hpfs_fnode_dno
STR_LEN 0 inode 2
STR_LEN 0 inode->i_sb (-1),8
NOSPEC 0 inode->i_ino
TERMINATED 2 name 1
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_ino 0-u32max[c]
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_bytes
NO_OVERFLOW_SIMPLE 0 inode->i_ino
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits
LOCK2 &sbi->hpfs_mutex
HALF_LOCKED2 &fc->uapi_mutex

fs/hpfs/inode.c hpfs_write_inode_nolock() -> map_dirent()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
PARAM_VALUE 0 inode->i_data.a_ops->bmap 0,4096-ptr_max
PARAM_VALUE 0 inode->i_data.a_ops->direct_IO 0,4096-ptr_max
PARAM_VALUE 0 inode->i_data.a_ops->dirty_folio 0,4096-ptr_max
PARAM_VALUE 0 inode->i_data.a_ops->error_remove_folio 0,373303432983703552,3650281484867371008,6933238642996355072,7934844886813757440
PARAM_VALUE 0 inode->i_data.a_ops->free_folio 0,4096-ptr_max
PARAM_VALUE 0 inode->i_data.a_ops->invalidate_folio 0,4096-ptr_max
PARAM_VALUE 0 inode->i_data.a_ops->is_dirty_writeback 0,7518438349615988736,8867638692533350400
PARAM_VALUE 0 inode->i_data.a_ops->is_partially_uptodate 0,1933474595957665792,7182876493439184896
PARAM_VALUE 0 inode->i_data.a_ops->launder_folio 0,4096-ptr_max
PARAM_VALUE 0 inode->i_data.a_ops->migrate_folio 0,4096-ptr_max
PARAM_VALUE 0 inode->i_data.a_ops->read_folio 0,4096-ptr_max
PARAM_VALUE 0 inode->i_data.a_ops->readahead 0,4096-ptr_max
PARAM_VALUE 0 inode->i_data.a_ops->release_folio 0,4096-ptr_max
PARAM_VALUE 0 inode->i_data.a_ops->swap_activate 0,4096-ptr_max
PARAM_VALUE 0 inode->i_data.a_ops->swap_deactivate 0,1546359495696728064,3888069641387622400,7359158453655175168,8604917376913055744
PARAM_VALUE 0 inode->i_data.a_ops->swap_rw 0,4986685196838862848,8487923053812363264
PARAM_VALUE 0 inode->i_data.a_ops->write_begin 0,4096-ptr_max
PARAM_VALUE 0 inode->i_data.a_ops->write_end 0,4096-ptr_max
PARAM_VALUE 0 inode->i_data.a_ops->writepages 0,4096-ptr_max
PARAM_VALUE 0 inode->i_mapping->host->i_sb->s_cop->empty_dir 0,86,661756434209751040,4392966320616476672,5234023279986843648,8614756098313990144
PARAM_VALUE 0 inode->i_mapping->host->i_sb->s_cop->get_context 0,706,17350455714160640,4513809449498124288,5149251875611672576,7067778626864828416
PARAM_VALUE 0 inode->i_mapping->host->i_sb->s_cop->set_context 0,67,317457138841939968,3250154607523569664,5979066299606671360,6756104566897242112
PARAM_VALUE 0 inode->i_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 inode->i_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 inode->i_op->atomic_open 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->create 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->fiemap 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->fileattr_get 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->fileattr_set 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->get_acl 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->get_inode_acl 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->get_link 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->get_offset_ctx 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->getattr 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->link 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->listxattr 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->lookup 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->mkdir 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->mknod 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->permission 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->readlink 0,1728600404483375104,2832489546165891072,2874824064778891264,3069732422725099520,4516337085607264256
PARAM_VALUE 0 inode->i_op->rename 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->rmdir 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->set_acl 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->setattr 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->symlink 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->sync_lazytime 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->tmpfile 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->unlink 0,4096-ptr_max
PARAM_VALUE 0 inode->i_op->update_time 0,4096-ptr_max
PARAM_VALUE 0 inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 inode->i_sb 4096-ptr_max
PARAM_VALUE 0 inode->i_sb->s_bdev->bd_mapping->i_private_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 inode->i_sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648
PARAM_VALUE 0 inode->i_sb->s_export_op->encode_fh 0,2,1398972869330624512,1616549510479982592,2037984473558433792,2776440803454029824,3228746867770966016,3502492669594062848,3526768263295340544,3559173554394271744,5000850239487131648,5583386343686406144,5817357685191483392-s64max
PARAM_VALUE 0 inode->i_sb->s_export_op->fh_to_parent 0,5297,148606482432692224,436469935444291584,467281172929331200,529780027764285440,1092893949038768128,1556959531105513472,1608953577475584000,1649536479961075712,2404761408063094784,2970908329832960000,3511613614414655488-s64max
PARAM_VALUE 0 inode->i_sb->s_export_op->get_parent 0,8931,264940071972966400,291591359766798336,565128213429456896
PARAM_VALUE 0 inode->i_sb->s_fs_info 4096-ptr_max
PARAM_VALUE 2 name 817033570115190784
PARAM_VALUE 3 len 2
PARAM_VALUE 4 dd 0
PARAM_VALUE 5 qbh 3552708175923826688
BUF_SIZE 0 inode->i_data.a_ops (-1),152
BUF_SIZE 0 inode->i_fop (-1),272
BUF_SIZE 0 inode->i_op (-1),256
BUF_SIZE 2 name 3
CAPPED_DATA 0 inode 1
CAPPED_DATA 0 inode->i_sb 1
DATA_SOURCE 0 inode $0
STR_LEN 0 inode 2
NOSPEC 0 inode->i_size
TERMINATED 2 name 1
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->__i_nlink 1-u32max
USER_DATA 0 inode->i_blocks 1-18014398509481984[c]
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_sb->s_flags 0-u64max[c]
USER_DATA 0 inode->i_size (-9223372036854775807)-(-4),0-s64max
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_ino
NO_OVERFLOW_SIMPLE 0 inode->i_linklen
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits
UNITS 1 dno unit_byte
HALF_LOCKED2 &sbi->hpfs_mutex
HALF_LOCKED2 0 &inode->i_rwsem
HALF_LOCKED2 0 &inode->i_sb->s_fs_info->hpfs_mutex