Lines Matching refs:cinode
294 cifs_has_mand_locks(struct cifsInodeInfo *cinode) in cifs_has_mand_locks() argument
299 down_read(&cinode->lock_sem); in cifs_has_mand_locks()
300 list_for_each_entry(cur, &cinode->llist, llist) { in cifs_has_mand_locks()
306 up_read(&cinode->lock_sem); in cifs_has_mand_locks()
325 struct cifsInodeInfo *cinode = CIFS_I(inode); in cifs_new_fileinfo() local
374 if (server->ops->is_read_op(oplock) && cifs_has_mand_locks(cinode)) { in cifs_new_fileinfo()
379 cifs_down_write(&cinode->lock_sem); in cifs_new_fileinfo()
380 list_add(&fdlocks->llist, &cinode->llist); in cifs_new_fileinfo()
381 up_write(&cinode->lock_sem); in cifs_new_fileinfo()
395 spin_lock(&cinode->open_file_lock); in cifs_new_fileinfo()
397 list_add(&cfile->flist, &cinode->openFileList); in cifs_new_fileinfo()
399 list_add_tail(&cfile->flist, &cinode->openFileList); in cifs_new_fileinfo()
400 spin_unlock(&cinode->open_file_lock); in cifs_new_fileinfo()
732 struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_relock_file() local
739 down_read_nested(&cinode->lock_sem, SINGLE_DEPTH_NESTING); in cifs_relock_file()
740 if (cinode->can_cache_brlcks) { in cifs_relock_file()
742 up_read(&cinode->lock_sem); in cifs_relock_file()
755 up_read(&cinode->lock_sem); in cifs_relock_file()
768 struct cifsInodeInfo *cinode; in cifs_reopen_file() local
887 cinode = CIFS_I(inode); in cifs_reopen_file()
914 if (server->ops->is_read_op(oplock) && cifs_has_mand_locks(cinode)) { in cifs_reopen_file()
944 struct cifsInodeInfo *cinode = CIFS_I(inode); in cifs_close() local
954 if ((cinode->oplock == CIFS_CACHE_RHW_FLG) && in cifs_close()
955 cinode->lease_granted && in cifs_close()
956 !test_bit(CIFS_INO_CLOSE_ON_LOCK, &cinode->flags) && in cifs_close()
958 if (test_and_clear_bit(CIFS_INO_MODIFIED_ATTR, &cinode->flags)) { in cifs_close()
961 spin_lock(&cinode->deferred_lock); in cifs_close()
977 spin_unlock(&cinode->deferred_lock); in cifs_close()
980 spin_unlock(&cinode->deferred_lock); in cifs_close()
1150 struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_find_lock_conflict() local
1152 list_for_each_entry(cur, &cinode->llist, llist) { in cifs_find_lock_conflict()
1176 struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_lock_test() local
1180 down_read(&cinode->lock_sem); in cifs_lock_test()
1193 } else if (!cinode->can_cache_brlcks) in cifs_lock_test()
1198 up_read(&cinode->lock_sem); in cifs_lock_test()
1205 struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_lock_add() local
1206 cifs_down_write(&cinode->lock_sem); in cifs_lock_add()
1208 up_write(&cinode->lock_sem); in cifs_lock_add()
1222 struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_lock_add_if() local
1228 cifs_down_write(&cinode->lock_sem); in cifs_lock_add_if()
1233 if (!exist && cinode->can_cache_brlcks) { in cifs_lock_add_if()
1235 up_write(&cinode->lock_sem); in cifs_lock_add_if()
1245 up_write(&cinode->lock_sem); in cifs_lock_add_if()
1251 cifs_down_write(&cinode->lock_sem); in cifs_lock_add_if()
1255 up_write(&cinode->lock_sem); in cifs_lock_add_if()
1271 struct cifsInodeInfo *cinode = CIFS_I(file_inode(file)); in cifs_posix_lock_test() local
1277 down_read(&cinode->lock_sem); in cifs_posix_lock_test()
1280 if (flock->fl_type == F_UNLCK && !cinode->can_cache_brlcks) { in cifs_posix_lock_test()
1285 up_read(&cinode->lock_sem); in cifs_posix_lock_test()
1299 struct cifsInodeInfo *cinode = CIFS_I(file_inode(file)); in cifs_posix_lock_set() local
1305 cifs_down_write(&cinode->lock_sem); in cifs_posix_lock_set()
1306 if (!cinode->can_cache_brlcks) { in cifs_posix_lock_set()
1307 up_write(&cinode->lock_sem); in cifs_posix_lock_set()
1312 up_write(&cinode->lock_sem); in cifs_posix_lock_set()
1502 struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_push_locks() local
1510 cifs_down_write(&cinode->lock_sem); in cifs_push_locks()
1511 if (!cinode->can_cache_brlcks) { in cifs_push_locks()
1512 up_write(&cinode->lock_sem); in cifs_push_locks()
1525 cinode->can_cache_brlcks = false; in cifs_push_locks()
1526 up_write(&cinode->lock_sem); in cifs_push_locks()
1681 struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_unlock_range() local
1706 cifs_down_write(&cinode->lock_sem); in cifs_unlock_range()
1719 if (cinode->can_cache_brlcks) { in cifs_unlock_range()
1776 up_write(&cinode->lock_sem); in cifs_unlock_range()
2229 struct cifsInodeInfo *cinode; in cifs_get_writable_path() local
2239 cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_get_writable_path()
2242 return cifs_get_writable_file(cinode, flags, ret_file); in cifs_get_writable_path()
2261 struct cifsInodeInfo *cinode; in cifs_get_readable_path() local
2271 cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_get_readable_path()
2274 *ret_file = find_readable_file(cinode, 0); in cifs_get_readable_path()
3608 struct cifsInodeInfo *cinode = CIFS_I(inode); in cifs_writev() local
3617 down_read(&cinode->lock_sem); in cifs_writev()
3630 up_read(&cinode->lock_sem); in cifs_writev()
3642 struct cifsInodeInfo *cinode = CIFS_I(inode); in cifs_strict_writev() local
3649 written = cifs_get_writer(cinode); in cifs_strict_writev()
3653 if (CIFS_CACHE_WRITE(cinode)) { in cifs_strict_writev()
3670 if (CIFS_CACHE_READ(cinode)) { in cifs_strict_writev()
3681 cinode->oplock = 0; in cifs_strict_writev()
3684 cifs_put_writer(cinode); in cifs_strict_writev()
4351 struct cifsInodeInfo *cinode = CIFS_I(inode); in cifs_strict_readv() local
4366 if (!CIFS_CACHE_READ(cinode)) in cifs_strict_readv()
4378 down_read(&cinode->lock_sem); in cifs_strict_readv()
4383 up_read(&cinode->lock_sem); in cifs_strict_readv()
5082 struct cifsInodeInfo *cinode = CIFS_I(inode); in cifs_oplock_break() local
5088 wait_on_bit(&cinode->flags, CIFS_INODE_PENDING_WRITERS, in cifs_oplock_break()
5091 server->ops->downgrade_oplock(server, cinode, cfile->oplock_level, in cifs_oplock_break()
5094 if (!CIFS_CACHE_WRITE(cinode) && CIFS_CACHE_READ(cinode) && in cifs_oplock_break()
5095 cifs_has_mand_locks(cinode)) { in cifs_oplock_break()
5098 cinode->oplock = 0; in cifs_oplock_break()
5102 if (CIFS_CACHE_READ(cinode)) in cifs_oplock_break()
5107 if (!CIFS_CACHE_READ(cinode) || purge_cache) { in cifs_oplock_break()
5113 if (CIFS_CACHE_WRITE(cinode)) in cifs_oplock_break()
5130 cinode); in cifs_oplock_break()
5135 cifs_done_oplock_break(cinode); in cifs_oplock_break()