Lines Matching refs:cinode
630 cifs_has_mand_locks(struct cifsInodeInfo *cinode) in cifs_has_mand_locks() argument
635 down_read(&cinode->lock_sem); in cifs_has_mand_locks()
636 list_for_each_entry(cur, &cinode->llist, llist) { in cifs_has_mand_locks()
642 up_read(&cinode->lock_sem); in cifs_has_mand_locks()
662 struct cifsInodeInfo *cinode = CIFS_I(inode); in cifs_new_fileinfo() local
712 if (server->ops->is_read_op(oplock) && cifs_has_mand_locks(cinode)) { in cifs_new_fileinfo()
717 cifs_down_write(&cinode->lock_sem); in cifs_new_fileinfo()
718 list_add(&fdlocks->llist, &cinode->llist); in cifs_new_fileinfo()
719 up_write(&cinode->lock_sem); in cifs_new_fileinfo()
733 spin_lock(&cinode->open_file_lock); in cifs_new_fileinfo()
735 list_add(&cfile->flist, &cinode->openFileList); in cifs_new_fileinfo()
737 list_add_tail(&cfile->flist, &cinode->openFileList); in cifs_new_fileinfo()
738 spin_unlock(&cinode->open_file_lock); in cifs_new_fileinfo()
1131 struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_relock_file() local
1138 down_read_nested(&cinode->lock_sem, SINGLE_DEPTH_NESTING); in cifs_relock_file()
1139 if (cinode->can_cache_brlcks) { in cifs_relock_file()
1141 up_read(&cinode->lock_sem); in cifs_relock_file()
1154 up_read(&cinode->lock_sem); in cifs_relock_file()
1167 struct cifsInodeInfo *cinode; in cifs_reopen_file() local
1302 cinode = CIFS_I(inode); in cifs_reopen_file()
1331 if (server->ops->is_read_op(oplock) && cifs_has_mand_locks(cinode)) { in cifs_reopen_file()
1362 struct cifsInodeInfo *cinode = CIFS_I(inode); in smb2_can_defer_close() local
1364 return (cifs_sb->ctx->closetimeo && cinode->lease_granted && dclose && in smb2_can_defer_close()
1365 (cinode->oplock == CIFS_CACHE_RHW_FLG || in smb2_can_defer_close()
1366 cinode->oplock == CIFS_CACHE_RH_FLG) && in smb2_can_defer_close()
1367 !test_bit(CIFS_INO_CLOSE_ON_LOCK, &cinode->flags)); in smb2_can_defer_close()
1374 struct cifsInodeInfo *cinode = CIFS_I(inode); in cifs_close() local
1386 if (test_and_clear_bit(NETFS_ICTX_MODIFIED_ATTR, &cinode->netfs.flags)) { in cifs_close()
1390 spin_lock(&cinode->deferred_lock); in cifs_close()
1406 spin_unlock(&cinode->deferred_lock); in cifs_close()
1409 spin_unlock(&cinode->deferred_lock); in cifs_close()
1578 struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_find_lock_conflict() local
1580 list_for_each_entry(cur, &cinode->llist, llist) { in cifs_find_lock_conflict()
1604 struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_lock_test() local
1608 down_read(&cinode->lock_sem); in cifs_lock_test()
1621 } else if (!cinode->can_cache_brlcks) in cifs_lock_test()
1626 up_read(&cinode->lock_sem); in cifs_lock_test()
1633 struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_lock_add() local
1634 cifs_down_write(&cinode->lock_sem); in cifs_lock_add()
1636 up_write(&cinode->lock_sem); in cifs_lock_add()
1650 struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_lock_add_if() local
1656 cifs_down_write(&cinode->lock_sem); in cifs_lock_add_if()
1661 if (!exist && cinode->can_cache_brlcks) { in cifs_lock_add_if()
1663 up_write(&cinode->lock_sem); in cifs_lock_add_if()
1673 up_write(&cinode->lock_sem); in cifs_lock_add_if()
1679 cifs_down_write(&cinode->lock_sem); in cifs_lock_add_if()
1683 up_write(&cinode->lock_sem); in cifs_lock_add_if()
1699 struct cifsInodeInfo *cinode = CIFS_I(file_inode(file)); in cifs_posix_lock_test() local
1705 down_read(&cinode->lock_sem); in cifs_posix_lock_test()
1708 if (lock_is_unlock(flock) && !cinode->can_cache_brlcks) { in cifs_posix_lock_test()
1713 up_read(&cinode->lock_sem); in cifs_posix_lock_test()
1727 struct cifsInodeInfo *cinode = CIFS_I(file_inode(file)); in cifs_posix_lock_set() local
1733 cifs_down_write(&cinode->lock_sem); in cifs_posix_lock_set()
1734 if (!cinode->can_cache_brlcks) { in cifs_posix_lock_set()
1735 up_write(&cinode->lock_sem); in cifs_posix_lock_set()
1740 up_write(&cinode->lock_sem); in cifs_posix_lock_set()
1932 struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_push_locks() local
1940 cifs_down_write(&cinode->lock_sem); in cifs_push_locks()
1941 if (!cinode->can_cache_brlcks) { in cifs_push_locks()
1942 up_write(&cinode->lock_sem); in cifs_push_locks()
1955 cinode->can_cache_brlcks = false; in cifs_push_locks()
1956 up_write(&cinode->lock_sem); in cifs_push_locks()
2092 struct cifsInodeInfo *cinode = CIFS_I(inode); in cifs_get_hardlink_path() local
2096 spin_lock(&cinode->open_file_lock); in cifs_get_hardlink_path()
2098 list_for_each_entry(open_file, &cinode->openFileList, flist) { in cifs_get_hardlink_path()
2105 spin_unlock(&cinode->open_file_lock); in cifs_get_hardlink_path()
2135 struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_unlock_range() local
2158 cifs_down_write(&cinode->lock_sem); in cifs_unlock_range()
2171 if (cinode->can_cache_brlcks) { in cifs_unlock_range()
2228 up_write(&cinode->lock_sem); in cifs_unlock_range()
2604 struct cifsInodeInfo *cinode; in cifs_get_writable_path() local
2614 cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_get_writable_path()
2617 return cifs_get_writable_file(cinode, flags, ret_file); in cifs_get_writable_path()
2636 struct cifsInodeInfo *cinode; in cifs_get_readable_path() local
2646 cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_get_readable_path()
2649 *ret_file = find_readable_file(cinode, 0); in cifs_get_readable_path()
2790 struct cifsInodeInfo *cinode = CIFS_I(inode); in cifs_writev() local
2803 down_read(&cinode->lock_sem); in cifs_writev()
2820 up_read(&cinode->lock_sem); in cifs_writev()
2831 struct cifsInodeInfo *cinode = CIFS_I(inode); in cifs_strict_writev() local
2838 written = cifs_get_writer(cinode); in cifs_strict_writev()
2842 if (CIFS_CACHE_WRITE(cinode)) { in cifs_strict_writev()
2859 if (CIFS_CACHE_READ(cinode)) { in cifs_strict_writev()
2870 cinode->oplock = 0; in cifs_strict_writev()
2873 cifs_put_writer(cinode); in cifs_strict_writev()
2895 struct cifsInodeInfo *cinode = CIFS_I(inode); in cifs_file_write_iter() local
2901 if (written > 0 && CIFS_CACHE_READ(cinode)) { in cifs_file_write_iter()
2906 cinode->oplock = 0; in cifs_file_write_iter()
2911 written = cifs_get_writer(cinode); in cifs_file_write_iter()
2924 cifs_put_writer(cinode); in cifs_file_write_iter()
2932 struct cifsInodeInfo *cinode = CIFS_I(inode); in cifs_strict_readv() local
2947 if (!CIFS_CACHE_READ(cinode)) in cifs_strict_readv()
2965 down_read(&cinode->lock_sem); in cifs_strict_readv()
2971 up_read(&cinode->lock_sem); in cifs_strict_readv()
2978 down_read(&cinode->lock_sem); in cifs_strict_readv()
2984 up_read(&cinode->lock_sem); in cifs_strict_readv()
3093 struct cifsInodeInfo *cinode = CIFS_I(inode); in cifs_oplock_break() local
3108 wait_on_bit(&cinode->flags, CIFS_INODE_PENDING_WRITERS, in cifs_oplock_break()
3117 server->ops->downgrade_oplock(server, cinode, cfile->oplock_level, in cifs_oplock_break()
3120 if (!CIFS_CACHE_WRITE(cinode) && CIFS_CACHE_READ(cinode) && in cifs_oplock_break()
3121 cifs_has_mand_locks(cinode)) { in cifs_oplock_break()
3124 cinode->oplock = 0; in cifs_oplock_break()
3128 if (CIFS_CACHE_READ(cinode)) in cifs_oplock_break()
3133 if (!CIFS_CACHE_READ(cinode) || purge_cache) { in cifs_oplock_break()
3139 if (CIFS_CACHE_WRITE(cinode)) in cifs_oplock_break()
3154 if (!CIFS_CACHE_HANDLE(cinode) && !list_empty(&cinode->deferred_closes)) in cifs_oplock_break()
3155 cifs_close_deferred_file(cinode); in cifs_oplock_break()
3167 spin_lock(&cinode->open_file_lock); in cifs_oplock_break()
3169 if (!oplock_break_cancelled && !list_empty(&cinode->openFileList)) { in cifs_oplock_break()
3170 spin_unlock(&cinode->open_file_lock); in cifs_oplock_break()
3172 volatile_fid, net_fid, cinode); in cifs_oplock_break()
3175 spin_unlock(&cinode->open_file_lock); in cifs_oplock_break()
3179 cifs_done_oplock_break(cinode); in cifs_oplock_break()