Lines Matching refs:cfile

617  * cifs_queue_oplock_break - queue the oplock break handler for cfile
618 * @cfile: The file to break the oplock on
621 * receives an oplock break for @cfile.
624 * Assumes cfile->file_info_lock is NOT held.
626 void cifs_queue_oplock_break(struct cifsFileInfo *cfile)
634 cifsFileInfo_get(cfile);
636 queue_work(cifsoplockd_wq, &cfile->oplock_break);
694 cifs_is_deferred_close(struct cifsFileInfo *cfile, struct cifs_deferred_close **pdclose)
698 list_for_each_entry(dclose, &CIFS_I(d_inode(cfile->dentry))->deferred_closes, dlist) {
699 if ((dclose->netfid == cfile->fid.netfid) &&
700 (dclose->persistent_fid == cfile->fid.persistent_fid) &&
701 (dclose->volatile_fid == cfile->fid.volatile_fid)) {
713 cifs_add_deferred_close(struct cifsFileInfo *cfile, struct cifs_deferred_close *dclose)
718 is_deferred = cifs_is_deferred_close(cfile, &pdclose);
724 dclose->tlink = cfile->tlink;
725 dclose->netfid = cfile->fid.netfid;
726 dclose->persistent_fid = cfile->fid.persistent_fid;
727 dclose->volatile_fid = cfile->fid.volatile_fid;
728 list_add_tail(&dclose->dlist, &CIFS_I(d_inode(cfile->dentry))->deferred_closes);
735 cifs_del_deferred_close(struct cifsFileInfo *cfile)
740 is_deferred = cifs_is_deferred_close(cfile, &dclose);
750 struct cifsFileInfo *cfile = NULL;
759 list_for_each_entry(cfile, &cifs_inode->openFileList, flist) {
760 if (delayed_work_pending(&cfile->deferred)) {
761 if (cancel_delayed_work(&cfile->deferred)) {
763 cifs_del_deferred_close(cfile);
769 tmp_list->cfile = cfile;
777 _cifsFileInfo_put(tmp_list->cfile, false, false);
786 struct cifsFileInfo *cfile;
792 list_for_each_entry(cfile, &tcon->openFileList, tlist) {
793 if (delayed_work_pending(&cfile->deferred)) {
794 if (cancel_delayed_work(&cfile->deferred)) {
795 spin_lock(&CIFS_I(d_inode(cfile->dentry))->deferred_lock);
796 cifs_del_deferred_close(cfile);
797 spin_unlock(&CIFS_I(d_inode(cfile->dentry))->deferred_lock);
802 tmp_list->cfile = cfile;
810 _cifsFileInfo_put(tmp_list->cfile, true, false);
818 struct cifsFileInfo *cfile;
827 list_for_each_entry(cfile, &tcon->openFileList, tlist) {
828 full_path = build_path_from_dentry(cfile->dentry, page);
830 if (delayed_work_pending(&cfile->deferred)) {
831 if (cancel_delayed_work(&cfile->deferred)) {
832 spin_lock(&CIFS_I(d_inode(cfile->dentry))->deferred_lock);
833 cifs_del_deferred_close(cfile);
834 spin_unlock(&CIFS_I(d_inode(cfile->dentry))->deferred_lock);
839 tmp_list->cfile = cfile;
848 _cifsFileInfo_put(tmp_list->cfile, true, false);
989 cifsFileInfo_put(ctx->cfile);