Lines Matching refs:cinode
256 cifs_has_mand_locks(struct cifsInodeInfo *cinode) in cifs_has_mand_locks() argument
261 down_read(&cinode->lock_sem); in cifs_has_mand_locks()
262 list_for_each_entry(cur, &cinode->llist, llist) { in cifs_has_mand_locks()
268 up_read(&cinode->lock_sem); in cifs_has_mand_locks()
287 struct cifsInodeInfo *cinode = CIFS_I(inode); in cifs_new_fileinfo() local
327 if (server->ops->is_read_op(oplock) && cifs_has_mand_locks(cinode)) { in cifs_new_fileinfo()
332 cifs_down_write(&cinode->lock_sem); in cifs_new_fileinfo()
333 list_add(&fdlocks->llist, &cinode->llist); in cifs_new_fileinfo()
334 up_write(&cinode->lock_sem); in cifs_new_fileinfo()
348 spin_lock(&cinode->open_file_lock); in cifs_new_fileinfo()
350 list_add(&cfile->flist, &cinode->openFileList); in cifs_new_fileinfo()
352 list_add_tail(&cfile->flist, &cinode->openFileList); in cifs_new_fileinfo()
353 spin_unlock(&cinode->open_file_lock); in cifs_new_fileinfo()
672 struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_relock_file() local
676 down_read_nested(&cinode->lock_sem, SINGLE_DEPTH_NESTING); in cifs_relock_file()
677 if (cinode->can_cache_brlcks) { in cifs_relock_file()
679 up_read(&cinode->lock_sem); in cifs_relock_file()
690 up_read(&cinode->lock_sem); in cifs_relock_file()
703 struct cifsInodeInfo *cinode; in cifs_reopen_file() local
818 cinode = CIFS_I(inode); in cifs_reopen_file()
845 if (server->ops->is_read_op(oplock) && cifs_has_mand_locks(cinode)) { in cifs_reopen_file()
875 struct cifsInodeInfo *cinode = CIFS_I(inode); in cifs_close() local
883 if ((cinode->oplock == CIFS_CACHE_RHW_FLG) && in cifs_close()
884 cinode->lease_granted && in cifs_close()
885 !test_bit(CIFS_INO_CLOSE_ON_LOCK, &cinode->flags) && in cifs_close()
887 if (test_and_clear_bit(CIFS_INO_MODIFIED_ATTR, &cinode->flags)) { in cifs_close()
891 spin_lock(&cinode->deferred_lock); in cifs_close()
907 spin_unlock(&cinode->deferred_lock); in cifs_close()
910 spin_unlock(&cinode->deferred_lock); in cifs_close()
1084 struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_find_lock_conflict() local
1086 list_for_each_entry(cur, &cinode->llist, llist) { in cifs_find_lock_conflict()
1110 struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_lock_test() local
1114 down_read(&cinode->lock_sem); in cifs_lock_test()
1127 } else if (!cinode->can_cache_brlcks) in cifs_lock_test()
1132 up_read(&cinode->lock_sem); in cifs_lock_test()
1139 struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_lock_add() local
1140 cifs_down_write(&cinode->lock_sem); in cifs_lock_add()
1142 up_write(&cinode->lock_sem); in cifs_lock_add()
1156 struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_lock_add_if() local
1162 cifs_down_write(&cinode->lock_sem); in cifs_lock_add_if()
1167 if (!exist && cinode->can_cache_brlcks) { in cifs_lock_add_if()
1169 up_write(&cinode->lock_sem); in cifs_lock_add_if()
1179 up_write(&cinode->lock_sem); in cifs_lock_add_if()
1185 cifs_down_write(&cinode->lock_sem); in cifs_lock_add_if()
1189 up_write(&cinode->lock_sem); in cifs_lock_add_if()
1204 struct cifsInodeInfo *cinode = CIFS_I(file_inode(file)); in cifs_posix_lock_test() local
1210 down_read(&cinode->lock_sem); in cifs_posix_lock_test()
1213 if (flock->fl_type == F_UNLCK && !cinode->can_cache_brlcks) { in cifs_posix_lock_test()
1218 up_read(&cinode->lock_sem); in cifs_posix_lock_test()
1232 struct cifsInodeInfo *cinode = CIFS_I(file_inode(file)); in cifs_posix_lock_set() local
1238 cifs_down_write(&cinode->lock_sem); in cifs_posix_lock_set()
1239 if (!cinode->can_cache_brlcks) { in cifs_posix_lock_set()
1240 up_write(&cinode->lock_sem); in cifs_posix_lock_set()
1245 up_write(&cinode->lock_sem); in cifs_posix_lock_set()
1433 struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_push_locks() local
1438 cifs_down_write(&cinode->lock_sem); in cifs_push_locks()
1439 if (!cinode->can_cache_brlcks) { in cifs_push_locks()
1440 up_write(&cinode->lock_sem); in cifs_push_locks()
1451 cinode->can_cache_brlcks = false; in cifs_push_locks()
1452 up_write(&cinode->lock_sem); in cifs_push_locks()
1604 struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_unlock_range() local
1629 cifs_down_write(&cinode->lock_sem); in cifs_unlock_range()
1642 if (cinode->can_cache_brlcks) { in cifs_unlock_range()
1699 up_write(&cinode->lock_sem); in cifs_unlock_range()
2147 struct cifsInodeInfo *cinode; in cifs_get_writable_path() local
2157 cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_get_writable_path()
2160 return cifs_get_writable_file(cinode, flags, ret_file); in cifs_get_writable_path()
2179 struct cifsInodeInfo *cinode; in cifs_get_readable_path() local
2189 cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_get_readable_path()
2192 *ret_file = find_readable_file(cinode, 0); in cifs_get_readable_path()
3312 struct cifsInodeInfo *cinode = CIFS_I(inode); in cifs_writev() local
3321 down_read(&cinode->lock_sem); in cifs_writev()
3334 up_read(&cinode->lock_sem); in cifs_writev()
3346 struct cifsInodeInfo *cinode = CIFS_I(inode); in cifs_strict_writev() local
3353 written = cifs_get_writer(cinode); in cifs_strict_writev()
3357 if (CIFS_CACHE_WRITE(cinode)) { in cifs_strict_writev()
3374 if (CIFS_CACHE_READ(cinode)) { in cifs_strict_writev()
3385 cinode->oplock = 0; in cifs_strict_writev()
3388 cifs_put_writer(cinode); in cifs_strict_writev()
4042 struct cifsInodeInfo *cinode = CIFS_I(inode); in cifs_strict_readv() local
4057 if (!CIFS_CACHE_READ(cinode)) in cifs_strict_readv()
4069 down_read(&cinode->lock_sem); in cifs_strict_readv()
4074 up_read(&cinode->lock_sem); in cifs_strict_readv()
4820 struct cifsInodeInfo *cinode = CIFS_I(inode); in cifs_oplock_break() local
4828 wait_on_bit(&cinode->flags, CIFS_INODE_PENDING_WRITERS, in cifs_oplock_break()
4831 server->ops->downgrade_oplock(server, cinode, cfile->oplock_level, in cifs_oplock_break()
4834 if (!CIFS_CACHE_WRITE(cinode) && CIFS_CACHE_READ(cinode) && in cifs_oplock_break()
4835 cifs_has_mand_locks(cinode)) { in cifs_oplock_break()
4838 cinode->oplock = 0; in cifs_oplock_break()
4842 if (CIFS_CACHE_READ(cinode)) in cifs_oplock_break()
4847 if (!CIFS_CACHE_READ(cinode) || purge_cache) { in cifs_oplock_break()
4853 if (CIFS_CACHE_WRITE(cinode)) in cifs_oplock_break()
4886 cinode); in cifs_oplock_break()
4891 cifs_done_oplock_break(cinode); in cifs_oplock_break()