cinode 904 fs/cifs/cifsfs.c struct cifsInodeInfo *cinode = CIFS_I(inode); cinode 910 fs/cifs/cifsfs.c if (written > 0 && CIFS_CACHE_READ(cinode)) { cinode 915 fs/cifs/cifsfs.c cinode->oplock = 0; cinode 920 fs/cifs/cifsfs.c written = cifs_get_writer(cinode); cinode 935 fs/cifs/cifsfs.c cifs_put_writer(cinode); cinode 1386 fs/cifs/cifsglob.h #define CIFS_CACHE_READ(cinode) ((cinode->oplock & CIFS_CACHE_READ_FLG) || (CIFS_SB(cinode->vfs_inode.i_sb)->mnt_cifs_flags & CIFS_MOUNT_RO_CACHE)) cinode 1387 fs/cifs/cifsglob.h #define CIFS_CACHE_HANDLE(cinode) (cinode->oplock & CIFS_CACHE_HANDLE_FLG) cinode 1388 fs/cifs/cifsglob.h #define CIFS_CACHE_WRITE(cinode) ((cinode->oplock & CIFS_CACHE_WRITE_FLG) || (CIFS_SB(cinode->vfs_inode.i_sb)->mnt_cifs_flags & CIFS_MOUNT_RW_CACHE)) cinode 166 fs/cifs/cifsproto.h extern void cifs_set_oplock_level(struct cifsInodeInfo *cinode, __u32 oplock); cinode 167 fs/cifs/cifsproto.h extern int cifs_get_writer(struct cifsInodeInfo *cinode); cinode 168 fs/cifs/cifsproto.h extern void cifs_put_writer(struct cifsInodeInfo *cinode); cinode 169 fs/cifs/cifsproto.h extern void cifs_done_oplock_break(struct cifsInodeInfo *cinode); cinode 268 fs/cifs/file.c cifs_has_mand_locks(struct cifsInodeInfo *cinode) cinode 273 fs/cifs/file.c down_read(&cinode->lock_sem); cinode 274 fs/cifs/file.c list_for_each_entry(cur, &cinode->llist, llist) { cinode 280 fs/cifs/file.c up_read(&cinode->lock_sem); cinode 299 fs/cifs/file.c struct cifsInodeInfo *cinode = CIFS_I(inode); cinode 337 fs/cifs/file.c if (server->ops->is_read_op(oplock) && cifs_has_mand_locks(cinode)) { cinode 342 fs/cifs/file.c cifs_down_write(&cinode->lock_sem); cinode 343 fs/cifs/file.c list_add(&fdlocks->llist, &cinode->llist); cinode 344 fs/cifs/file.c up_write(&cinode->lock_sem); cinode 358 fs/cifs/file.c spin_lock(&cinode->open_file_lock); cinode 360 fs/cifs/file.c list_add(&cfile->flist, &cinode->openFileList); cinode 362 fs/cifs/file.c list_add_tail(&cfile->flist, &cinode->openFileList); cinode 363 fs/cifs/file.c spin_unlock(&cinode->open_file_lock); cinode 652 fs/cifs/file.c struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); cinode 656 fs/cifs/file.c down_read_nested(&cinode->lock_sem, SINGLE_DEPTH_NESTING); cinode 657 fs/cifs/file.c if (cinode->can_cache_brlcks) { cinode 659 fs/cifs/file.c up_read(&cinode->lock_sem); cinode 670 fs/cifs/file.c up_read(&cinode->lock_sem); cinode 683 fs/cifs/file.c struct cifsInodeInfo *cinode; cinode 800 fs/cifs/file.c cinode = CIFS_I(inode); cinode 825 fs/cifs/file.c if (server->ops->is_read_op(oplock) && cifs_has_mand_locks(cinode)) { cinode 1013 fs/cifs/file.c struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); cinode 1015 fs/cifs/file.c list_for_each_entry(cur, &cinode->llist, llist) { cinode 1039 fs/cifs/file.c struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); cinode 1043 fs/cifs/file.c down_read(&cinode->lock_sem); cinode 1056 fs/cifs/file.c } else if (!cinode->can_cache_brlcks) cinode 1061 fs/cifs/file.c up_read(&cinode->lock_sem); cinode 1068 fs/cifs/file.c struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); cinode 1069 fs/cifs/file.c cifs_down_write(&cinode->lock_sem); cinode 1071 fs/cifs/file.c up_write(&cinode->lock_sem); cinode 1085 fs/cifs/file.c struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); cinode 1091 fs/cifs/file.c cifs_down_write(&cinode->lock_sem); cinode 1096 fs/cifs/file.c if (!exist && cinode->can_cache_brlcks) { cinode 1098 fs/cifs/file.c up_write(&cinode->lock_sem); cinode 1108 fs/cifs/file.c up_write(&cinode->lock_sem); cinode 1114 fs/cifs/file.c cifs_down_write(&cinode->lock_sem); cinode 1118 fs/cifs/file.c up_write(&cinode->lock_sem); cinode 1133 fs/cifs/file.c struct cifsInodeInfo *cinode = CIFS_I(file_inode(file)); cinode 1139 fs/cifs/file.c down_read(&cinode->lock_sem); cinode 1142 fs/cifs/file.c if (flock->fl_type == F_UNLCK && !cinode->can_cache_brlcks) { cinode 1147 fs/cifs/file.c up_read(&cinode->lock_sem); cinode 1160 fs/cifs/file.c struct cifsInodeInfo *cinode = CIFS_I(file_inode(file)); cinode 1167 fs/cifs/file.c cifs_down_write(&cinode->lock_sem); cinode 1168 fs/cifs/file.c if (!cinode->can_cache_brlcks) { cinode 1169 fs/cifs/file.c up_write(&cinode->lock_sem); cinode 1174 fs/cifs/file.c up_write(&cinode->lock_sem); cinode 1369 fs/cifs/file.c struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); cinode 1374 fs/cifs/file.c cifs_down_write(&cinode->lock_sem); cinode 1375 fs/cifs/file.c if (!cinode->can_cache_brlcks) { cinode 1376 fs/cifs/file.c up_write(&cinode->lock_sem); cinode 1387 fs/cifs/file.c cinode->can_cache_brlcks = false; cinode 1388 fs/cifs/file.c up_write(&cinode->lock_sem); cinode 1540 fs/cifs/file.c struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); cinode 1565 fs/cifs/file.c cifs_down_write(&cinode->lock_sem); cinode 1578 fs/cifs/file.c if (cinode->can_cache_brlcks) { cinode 1635 fs/cifs/file.c up_write(&cinode->lock_sem); cinode 2029 fs/cifs/file.c struct cifsInodeInfo *cinode; cinode 2049 fs/cifs/file.c cinode = CIFS_I(d_inode(cfile->dentry)); cinode 2051 fs/cifs/file.c return cifs_get_writable_file(cinode, flags, ret_file); cinode 2064 fs/cifs/file.c struct cifsInodeInfo *cinode; cinode 2084 fs/cifs/file.c cinode = CIFS_I(d_inode(cfile->dentry)); cinode 2086 fs/cifs/file.c *ret_file = find_readable_file(cinode, 0); cinode 3187 fs/cifs/file.c struct cifsInodeInfo *cinode = CIFS_I(inode); cinode 3196 fs/cifs/file.c down_read(&cinode->lock_sem); cinode 3209 fs/cifs/file.c up_read(&cinode->lock_sem); cinode 3221 fs/cifs/file.c struct cifsInodeInfo *cinode = CIFS_I(inode); cinode 3228 fs/cifs/file.c written = cifs_get_writer(cinode); cinode 3232 fs/cifs/file.c if (CIFS_CACHE_WRITE(cinode)) { cinode 3249 fs/cifs/file.c if (CIFS_CACHE_READ(cinode)) { cinode 3260 fs/cifs/file.c cinode->oplock = 0; cinode 3263 fs/cifs/file.c cifs_put_writer(cinode); cinode 3908 fs/cifs/file.c struct cifsInodeInfo *cinode = CIFS_I(inode); cinode 3923 fs/cifs/file.c if (!CIFS_CACHE_READ(cinode)) cinode 3935 fs/cifs/file.c down_read(&cinode->lock_sem); cinode 3940 fs/cifs/file.c up_read(&cinode->lock_sem); cinode 4674 fs/cifs/file.c struct cifsInodeInfo *cinode = CIFS_I(inode); cinode 4679 fs/cifs/file.c wait_on_bit(&cinode->flags, CIFS_INODE_PENDING_WRITERS, cinode 4682 fs/cifs/file.c server->ops->downgrade_oplock(server, cinode, cinode 4683 fs/cifs/file.c test_bit(CIFS_INODE_DOWNGRADE_OPLOCK_TO_L2, &cinode->flags)); cinode 4685 fs/cifs/file.c if (!CIFS_CACHE_WRITE(cinode) && CIFS_CACHE_READ(cinode) && cinode 4686 fs/cifs/file.c cifs_has_mand_locks(cinode)) { cinode 4689 fs/cifs/file.c cinode->oplock = 0; cinode 4693 fs/cifs/file.c if (CIFS_CACHE_READ(cinode)) cinode 4698 fs/cifs/file.c if (!CIFS_CACHE_READ(cinode)) { cinode 4718 fs/cifs/file.c cinode); cinode 4722 fs/cifs/file.c cifs_done_oplock_break(cinode); cinode 551 fs/cifs/misc.c void cifs_set_oplock_level(struct cifsInodeInfo *cinode, __u32 oplock) cinode 556 fs/cifs/misc.c cinode->oplock = CIFS_CACHE_WRITE_FLG | CIFS_CACHE_READ_FLG; cinode 558 fs/cifs/misc.c &cinode->vfs_inode); cinode 560 fs/cifs/misc.c cinode->oplock = CIFS_CACHE_READ_FLG; cinode 562 fs/cifs/misc.c &cinode->vfs_inode); cinode 564 fs/cifs/misc.c cinode->oplock = 0; cinode 571 fs/cifs/misc.c int cifs_get_writer(struct cifsInodeInfo *cinode) cinode 576 fs/cifs/misc.c rc = wait_on_bit(&cinode->flags, CIFS_INODE_PENDING_OPLOCK_BREAK, cinode 581 fs/cifs/misc.c spin_lock(&cinode->writers_lock); cinode 582 fs/cifs/misc.c if (!cinode->writers) cinode 583 fs/cifs/misc.c set_bit(CIFS_INODE_PENDING_WRITERS, &cinode->flags); cinode 584 fs/cifs/misc.c cinode->writers++; cinode 586 fs/cifs/misc.c if (test_bit(CIFS_INODE_PENDING_OPLOCK_BREAK, &cinode->flags)) { cinode 587 fs/cifs/misc.c cinode->writers--; cinode 588 fs/cifs/misc.c if (cinode->writers == 0) { cinode 589 fs/cifs/misc.c clear_bit(CIFS_INODE_PENDING_WRITERS, &cinode->flags); cinode 590 fs/cifs/misc.c wake_up_bit(&cinode->flags, CIFS_INODE_PENDING_WRITERS); cinode 592 fs/cifs/misc.c spin_unlock(&cinode->writers_lock); cinode 595 fs/cifs/misc.c spin_unlock(&cinode->writers_lock); cinode 599 fs/cifs/misc.c void cifs_put_writer(struct cifsInodeInfo *cinode) cinode 601 fs/cifs/misc.c spin_lock(&cinode->writers_lock); cinode 602 fs/cifs/misc.c cinode->writers--; cinode 603 fs/cifs/misc.c if (cinode->writers == 0) { cinode 604 fs/cifs/misc.c clear_bit(CIFS_INODE_PENDING_WRITERS, &cinode->flags); cinode 605 fs/cifs/misc.c wake_up_bit(&cinode->flags, CIFS_INODE_PENDING_WRITERS); cinode 607 fs/cifs/misc.c spin_unlock(&cinode->writers_lock); cinode 632 fs/cifs/misc.c void cifs_done_oplock_break(struct cifsInodeInfo *cinode) cinode 634 fs/cifs/misc.c clear_bit(CIFS_INODE_PENDING_OPLOCK_BREAK, &cinode->flags); cinode 635 fs/cifs/misc.c wake_up_bit(&cinode->flags, CIFS_INODE_PENDING_OPLOCK_BREAK); cinode 372 fs/cifs/smb1ops.c struct cifsInodeInfo *cinode, bool set_level2) cinode 375 fs/cifs/smb1ops.c cifs_set_oplock_level(cinode, OPLOCK_READ); cinode 377 fs/cifs/smb1ops.c cifs_set_oplock_level(cinode, 0); cinode 715 fs/cifs/smb1ops.c struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); cinode 717 fs/cifs/smb1ops.c cifs_set_oplock_level(cinode, oplock); cinode 718 fs/cifs/smb1ops.c cinode->can_cache_brlcks = CIFS_CACHE_WRITE(cinode); cinode 764 fs/cifs/smb1ops.c struct cifsInodeInfo *cinode = CIFS_I(inode); cinode 770 fs/cifs/smb1ops.c open_file = find_writable_file(cinode, FIND_WR_FSUID_ONLY); cinode 789 fs/cifs/smb1ops.c cinode->cifsAttrs = le32_to_cpu(buf->Attributes); cinode 817 fs/cifs/smb1ops.c cinode->cifsAttrs = le32_to_cpu(buf->Attributes); cinode 868 fs/cifs/smb1ops.c struct cifsInodeInfo *cinode) cinode 872 fs/cifs/smb1ops.c CIFS_CACHE_READ(cinode) ? 1 : 0); cinode 124 fs/cifs/smb2file.c struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); cinode 148 fs/cifs/smb2file.c cifs_down_write(&cinode->lock_sem); cinode 156 fs/cifs/smb2file.c if (cinode->can_cache_brlcks) { cinode 209 fs/cifs/smb2file.c up_write(&cinode->lock_sem); cinode 262 fs/cifs/smb2file.c struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); cinode 286 fs/cifs/smb2file.c list_for_each_entry(fdlocks, &cinode->llist, llist) { cinode 477 fs/cifs/smb2misc.c smb2_get_lease_state(struct cifsInodeInfo *cinode) cinode 481 fs/cifs/smb2misc.c if (CIFS_CACHE_WRITE(cinode)) cinode 483 fs/cifs/smb2misc.c if (CIFS_CACHE_HANDLE(cinode)) cinode 485 fs/cifs/smb2misc.c if (CIFS_CACHE_READ(cinode)) cinode 521 fs/cifs/smb2misc.c struct cifsInodeInfo *cinode; cinode 529 fs/cifs/smb2misc.c cinode = CIFS_I(d_inode(cfile->dentry)); cinode 531 fs/cifs/smb2misc.c if (memcmp(cinode->lease_key, rsp->LeaseKey, cinode 544 fs/cifs/smb2misc.c set_bit(CIFS_INODE_PENDING_OPLOCK_BREAK, &cinode->flags); cinode 553 fs/cifs/smb2misc.c &cinode->flags); cinode 556 fs/cifs/smb2misc.c &cinode->flags); cinode 654 fs/cifs/smb2misc.c struct cifsInodeInfo *cinode; cinode 693 fs/cifs/smb2misc.c cinode = CIFS_I(d_inode(cfile->dentry)); cinode 695 fs/cifs/smb2misc.c if (!CIFS_CACHE_WRITE(cinode) && cinode 702 fs/cifs/smb2misc.c &cinode->flags); cinode 711 fs/cifs/smb2misc.c &cinode->flags); cinode 715 fs/cifs/smb2misc.c &cinode->flags); cinode 1341 fs/cifs/smb2ops.c struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); cinode 1350 fs/cifs/smb2ops.c server->ops->set_oplock_level(cinode, oplock, fid->epoch, cinode 1352 fs/cifs/smb2ops.c cinode->can_cache_brlcks = CIFS_CACHE_WRITE(cinode); cinode 2128 fs/cifs/smb2ops.c struct cifsInodeInfo *cinode) cinode 2131 fs/cifs/smb2ops.c return SMB2_lease_break(0, tcon, cinode->lease_key, cinode 2132 fs/cifs/smb2ops.c smb2_get_lease_state(cinode)); cinode 2136 fs/cifs/smb2ops.c CIFS_CACHE_READ(cinode) ? 1 : 0); cinode 3322 fs/cifs/smb2ops.c struct cifsInodeInfo *cinode, bool set_level2) cinode 3325 fs/cifs/smb2ops.c server->ops->set_oplock_level(cinode, SMB2_OPLOCK_LEVEL_II, cinode 3328 fs/cifs/smb2ops.c server->ops->set_oplock_level(cinode, 0, 0, NULL); cinode 3333 fs/cifs/smb2ops.c struct cifsInodeInfo *cinode, bool set_level2) cinode 3335 fs/cifs/smb2ops.c server->ops->set_oplock_level(cinode, cinode 3341 fs/cifs/smb2ops.c smb2_set_oplock_level(struct cifsInodeInfo *cinode, __u32 oplock, cinode 3348 fs/cifs/smb2ops.c cinode->oplock = CIFS_CACHE_RHW_FLG; cinode 3350 fs/cifs/smb2ops.c &cinode->vfs_inode); cinode 3352 fs/cifs/smb2ops.c cinode->oplock = CIFS_CACHE_RW_FLG; cinode 3354 fs/cifs/smb2ops.c &cinode->vfs_inode); cinode 3356 fs/cifs/smb2ops.c cinode->oplock = CIFS_CACHE_READ_FLG; cinode 3358 fs/cifs/smb2ops.c &cinode->vfs_inode); cinode 3360 fs/cifs/smb2ops.c cinode->oplock = 0; cinode 3364 fs/cifs/smb2ops.c smb21_set_oplock_level(struct cifsInodeInfo *cinode, __u32 oplock, cinode 3376 fs/cifs/smb2ops.c return smb2_set_oplock_level(cinode, oplock, epoch, cinode 3394 fs/cifs/smb2ops.c cinode->oplock = new_oplock; cinode 3396 fs/cifs/smb2ops.c &cinode->vfs_inode); cinode 3400 fs/cifs/smb2ops.c smb3_set_oplock_level(struct cifsInodeInfo *cinode, __u32 oplock, cinode 3403 fs/cifs/smb2ops.c unsigned int old_oplock = cinode->oplock; cinode 3405 fs/cifs/smb2ops.c smb21_set_oplock_level(cinode, oplock, epoch, purge_cache); cinode 3410 fs/cifs/smb2ops.c if (cinode->oplock == CIFS_CACHE_READ_FLG && cinode 3411 fs/cifs/smb2ops.c (epoch - cinode->epoch > 0)) cinode 3413 fs/cifs/smb2ops.c else if (cinode->oplock == CIFS_CACHE_RH_FLG && cinode 3414 fs/cifs/smb2ops.c (epoch - cinode->epoch > 1)) cinode 3416 fs/cifs/smb2ops.c else if (cinode->oplock == CIFS_CACHE_RHW_FLG && cinode 3417 fs/cifs/smb2ops.c (epoch - cinode->epoch > 1)) cinode 3419 fs/cifs/smb2ops.c else if (cinode->oplock == 0 && cinode 3420 fs/cifs/smb2ops.c (epoch - cinode->epoch > 0)) cinode 3423 fs/cifs/smb2ops.c if (cinode->oplock == CIFS_CACHE_RH_FLG && cinode 3424 fs/cifs/smb2ops.c (epoch - cinode->epoch > 0)) cinode 3426 fs/cifs/smb2ops.c else if (cinode->oplock == CIFS_CACHE_RHW_FLG && cinode 3427 fs/cifs/smb2ops.c (epoch - cinode->epoch > 1)) cinode 3430 fs/cifs/smb2ops.c cinode->epoch = epoch; cinode 61 fs/cifs/smb2proto.h extern __le32 smb2_get_lease_state(struct cifsInodeInfo *cinode);