Lines Matching defs:cfile

619  * cifs_queue_oplock_break - queue the oplock break handler for cfile
620 * @cfile: The file to break the oplock on
623 * receives an oplock break for @cfile.
626 * Assumes cfile->file_info_lock is NOT held.
628 void cifs_queue_oplock_break(struct cifsFileInfo *cfile)
636 cifsFileInfo_get(cfile);
638 queue_work(cifsoplockd_wq, &cfile->oplock_break);
696 cifs_is_deferred_close(struct cifsFileInfo *cfile, struct cifs_deferred_close **pdclose)
700 list_for_each_entry(dclose, &CIFS_I(d_inode(cfile->dentry))->deferred_closes, dlist) {
701 if ((dclose->netfid == cfile->fid.netfid) &&
702 (dclose->persistent_fid == cfile->fid.persistent_fid) &&
703 (dclose->volatile_fid == cfile->fid.volatile_fid)) {
715 cifs_add_deferred_close(struct cifsFileInfo *cfile, struct cifs_deferred_close *dclose)
720 is_deferred = cifs_is_deferred_close(cfile, &pdclose);
726 dclose->tlink = cfile->tlink;
727 dclose->netfid = cfile->fid.netfid;
728 dclose->persistent_fid = cfile->fid.persistent_fid;
729 dclose->volatile_fid = cfile->fid.volatile_fid;
730 list_add_tail(&dclose->dlist, &CIFS_I(d_inode(cfile->dentry))->deferred_closes);
737 cifs_del_deferred_close(struct cifsFileInfo *cfile)
742 is_deferred = cifs_is_deferred_close(cfile, &dclose);
752 struct cifsFileInfo *cfile = NULL;
761 list_for_each_entry(cfile, &cifs_inode->openFileList, flist) {
762 if (delayed_work_pending(&cfile->deferred)) {
763 if (cancel_delayed_work(&cfile->deferred)) {
765 cifs_del_deferred_close(cfile);
771 tmp_list->cfile = cfile;
779 _cifsFileInfo_put(tmp_list->cfile, false, false);
788 struct cifsFileInfo *cfile;
794 list_for_each_entry(cfile, &tcon->openFileList, tlist) {
795 if (delayed_work_pending(&cfile->deferred)) {
796 if (cancel_delayed_work(&cfile->deferred)) {
797 spin_lock(&CIFS_I(d_inode(cfile->dentry))->deferred_lock);
798 cifs_del_deferred_close(cfile);
799 spin_unlock(&CIFS_I(d_inode(cfile->dentry))->deferred_lock);
804 tmp_list->cfile = cfile;
812 _cifsFileInfo_put(tmp_list->cfile, true, false);
820 struct cifsFileInfo *cfile;
829 list_for_each_entry(cfile, &tcon->openFileList, tlist) {
830 full_path = build_path_from_dentry(cfile->dentry, page);
832 if (delayed_work_pending(&cfile->deferred)) {
833 if (cancel_delayed_work(&cfile->deferred)) {
834 spin_lock(&CIFS_I(d_inode(cfile->dentry))->deferred_lock);
835 cifs_del_deferred_close(cfile);
836 spin_unlock(&CIFS_I(d_inode(cfile->dentry))->deferred_lock);
841 tmp_list->cfile = cfile;
850 _cifsFileInfo_put(tmp_list->cfile, true, false);
864 struct cifsFileInfo *cfile;
878 list_for_each_entry(cfile, &cinode->openFileList, flist) {
879 full_path = build_path_from_dentry(cfile->dentry, page);
881 cfile->status_file_deleted = true;
884 list_for_each_entry(cfile, &cinode->openFileList, flist)
885 cfile->status_file_deleted = true;
1025 cifsFileInfo_put(ctx->cfile);