Lines Matching refs:cfile

298 	struct cifsFileInfo *cfile;  in cifs_new_fileinfo()  local
303 cfile = kzalloc(sizeof(struct cifsFileInfo), GFP_KERNEL); in cifs_new_fileinfo()
304 if (cfile == NULL) in cifs_new_fileinfo()
305 return cfile; in cifs_new_fileinfo()
309 kfree(cfile); in cifs_new_fileinfo()
314 fdlocks->cfile = cfile; in cifs_new_fileinfo()
315 cfile->llist = fdlocks; in cifs_new_fileinfo()
317 cfile->count = 1; in cifs_new_fileinfo()
318 cfile->pid = current->tgid; in cifs_new_fileinfo()
319 cfile->uid = current_fsuid(); in cifs_new_fileinfo()
320 cfile->dentry = dget(dentry); in cifs_new_fileinfo()
321 cfile->f_flags = file->f_flags; in cifs_new_fileinfo()
322 cfile->invalidHandle = false; in cifs_new_fileinfo()
323 cfile->tlink = cifs_get_tlink(tlink); in cifs_new_fileinfo()
324 INIT_WORK(&cfile->oplock_break, cifs_oplock_break); in cifs_new_fileinfo()
325 INIT_WORK(&cfile->put, cifsFileInfo_put_work); in cifs_new_fileinfo()
326 mutex_init(&cfile->fh_mutex); in cifs_new_fileinfo()
327 spin_lock_init(&cfile->file_info_lock); in cifs_new_fileinfo()
350 server->ops->set_fid(cfile, fid, oplock); in cifs_new_fileinfo()
352 list_add(&cfile->tlist, &tcon->openFileList); in cifs_new_fileinfo()
358 list_add(&cfile->flist, &cinode->openFileList); in cifs_new_fileinfo()
360 list_add_tail(&cfile->flist, &cinode->openFileList); in cifs_new_fileinfo()
367 file->private_data = cfile; in cifs_new_fileinfo()
368 return cfile; in cifs_new_fileinfo()
525 struct cifsFileInfo *cfile = NULL; in cifs_open() local
606 cfile = cifs_new_fileinfo(&fid, file, tlink, oplock); in cifs_open()
607 if (cfile == NULL) { in cifs_open()
632 cfile->pid); in cifs_open()
642 static int cifs_push_posix_locks(struct cifsFileInfo *cfile);
649 cifs_relock_file(struct cifsFileInfo *cfile) in cifs_relock_file() argument
651 struct cifs_sb_info *cifs_sb = CIFS_SB(cfile->dentry->d_sb); in cifs_relock_file()
652 struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_relock_file()
653 struct cifs_tcon *tcon = tlink_tcon(cfile->tlink); in cifs_relock_file()
666 rc = cifs_push_posix_locks(cfile); in cifs_relock_file()
668 rc = tcon->ses->server->ops->push_mand_locks(cfile); in cifs_relock_file()
675 cifs_reopen_file(struct cifsFileInfo *cfile, bool can_flush) in cifs_reopen_file() argument
692 mutex_lock(&cfile->fh_mutex); in cifs_reopen_file()
693 if (!cfile->invalidHandle) { in cifs_reopen_file()
694 mutex_unlock(&cfile->fh_mutex); in cifs_reopen_file()
700 inode = d_inode(cfile->dentry); in cifs_reopen_file()
702 tcon = tlink_tcon(cfile->tlink); in cifs_reopen_file()
711 full_path = build_path_from_dentry(cfile->dentry); in cifs_reopen_file()
714 mutex_unlock(&cfile->fh_mutex); in cifs_reopen_file()
720 inode, cfile->f_flags, full_path); in cifs_reopen_file()
734 unsigned int oflags = cfile->f_flags & in cifs_reopen_file()
739 oflags, &oplock, &cfile->fid.netfid, xid); in cifs_reopen_file()
751 desired_access = cifs_convert_flags(cfile->f_flags); in cifs_reopen_file()
754 if (cfile->f_flags & O_SYNC) in cifs_reopen_file()
757 if (cfile->f_flags & O_DIRECT) in cifs_reopen_file()
761 server->ops->get_lease_key(inode, &cfile->fid); in cifs_reopen_file()
769 oparms.fid = &cfile->fid; in cifs_reopen_file()
788 mutex_unlock(&cfile->fh_mutex); in cifs_reopen_file()
795 cfile->invalidHandle = false; in cifs_reopen_file()
796 mutex_unlock(&cfile->fh_mutex); in cifs_reopen_file()
829 server->ops->set_fid(cfile, &cfile->fid, oplock); in cifs_reopen_file()
831 cifs_relock_file(cfile); in cifs_reopen_file()
890 struct cifsFileInfo *cfile = file->private_data; in cifs_closedir() local
897 if (cfile == NULL) in cifs_closedir()
901 tcon = tlink_tcon(cfile->tlink); in cifs_closedir()
905 spin_lock(&cfile->file_info_lock); in cifs_closedir()
906 if (server->ops->dir_needs_close(cfile)) { in cifs_closedir()
907 cfile->invalidHandle = true; in cifs_closedir()
908 spin_unlock(&cfile->file_info_lock); in cifs_closedir()
910 rc = server->ops->close_dir(xid, tcon, &cfile->fid); in cifs_closedir()
917 spin_unlock(&cfile->file_info_lock); in cifs_closedir()
919 buf = cfile->srch_inf.ntwrk_buf_start; in cifs_closedir()
922 cfile->srch_inf.ntwrk_buf_start = NULL; in cifs_closedir()
923 if (cfile->srch_inf.smallBuf) in cifs_closedir()
929 cifs_put_tlink(cfile->tlink); in cifs_closedir()
972 struct cifsFileInfo *cfile, in cifs_find_fid_lock_conflict() argument
976 struct cifsFileInfo *cur_cfile = fdlocks->cfile; in cifs_find_fid_lock_conflict()
977 struct TCP_Server_Info *server = tlink_tcon(cfile->tlink)->ses->server; in cifs_find_fid_lock_conflict()
984 server->ops->compare_fids(cfile, cur_cfile)) { in cifs_find_fid_lock_conflict()
991 ((server->ops->compare_fids(cfile, cur_cfile) && in cifs_find_fid_lock_conflict()
996 server->ops->compare_fids(cfile, cur_cfile)) in cifs_find_fid_lock_conflict()
1006 cifs_find_lock_conflict(struct cifsFileInfo *cfile, __u64 offset, __u64 length, in cifs_find_lock_conflict() argument
1012 struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_find_lock_conflict()
1016 flags, cfile, conf_lock, in cifs_find_lock_conflict()
1033 cifs_lock_test(struct cifsFileInfo *cfile, __u64 offset, __u64 length, in cifs_lock_test() argument
1038 struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_lock_test()
1039 struct TCP_Server_Info *server = tlink_tcon(cfile->tlink)->ses->server; in cifs_lock_test()
1044 exist = cifs_find_lock_conflict(cfile, offset, length, type, in cifs_lock_test()
1065 cifs_lock_add(struct cifsFileInfo *cfile, struct cifsLockInfo *lock) in cifs_lock_add() argument
1067 struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_lock_add()
1069 list_add_tail(&lock->llist, &cfile->llist->locks); in cifs_lock_add()
1080 cifs_lock_add_if(struct cifsFileInfo *cfile, struct cifsLockInfo *lock, in cifs_lock_add_if() argument
1084 struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_lock_add_if()
1092 exist = cifs_find_lock_conflict(cfile, lock->offset, lock->length, in cifs_lock_add_if()
1096 list_add_tail(&lock->llist, &cfile->llist->locks); in cifs_lock_add_if()
1178 cifs_push_mandatory_locks(struct cifsFileInfo *cfile) in cifs_push_mandatory_locks() argument
1193 tcon = tlink_tcon(cfile->tlink); in cifs_push_mandatory_locks()
1220 list_for_each_entry_safe(li, tmp, &cfile->llist->locks, llist) { in cifs_push_mandatory_locks()
1230 cfile->fid.netfid, in cifs_push_mandatory_locks()
1242 stored_rc = cifs_lockv(xid, tcon, cfile->fid.netfid, in cifs_push_mandatory_locks()
1270 cifs_push_posix_locks(struct cifsFileInfo *cfile) in cifs_push_posix_locks() argument
1272 struct inode *inode = d_inode(cfile->dentry); in cifs_push_posix_locks()
1273 struct cifs_tcon *tcon = tlink_tcon(cfile->tlink); in cifs_push_posix_locks()
1327 lck->netfid = cfile->fid.netfid; in cifs_push_posix_locks()
1358 cifs_push_locks(struct cifsFileInfo *cfile) in cifs_push_locks() argument
1360 struct cifs_sb_info *cifs_sb = CIFS_SB(cfile->dentry->d_sb); in cifs_push_locks()
1361 struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_push_locks()
1362 struct cifs_tcon *tcon = tlink_tcon(cfile->tlink); in cifs_push_locks()
1375 rc = cifs_push_posix_locks(cfile); in cifs_push_locks()
1377 rc = tcon->ses->server->ops->push_mand_locks(cfile); in cifs_push_locks()
1437 struct cifsFileInfo *cfile = (struct cifsFileInfo *)file->private_data; in cifs_getlk() local
1438 struct cifs_tcon *tcon = tlink_tcon(cfile->tlink); in cifs_getlk()
1440 __u16 netfid = cfile->fid.netfid; in cifs_getlk()
1460 rc = cifs_lock_test(cfile, flock->fl_start, length, type, flock); in cifs_getlk()
1465 rc = server->ops->mand_lock(xid, cfile, flock->fl_start, length, type, in cifs_getlk()
1468 rc = server->ops->mand_lock(xid, cfile, flock->fl_start, length, in cifs_getlk()
1484 rc = server->ops->mand_lock(xid, cfile, flock->fl_start, length, in cifs_getlk()
1488 rc = server->ops->mand_lock(xid, cfile, flock->fl_start, length, in cifs_getlk()
1520 cifs_unlock_range(struct cifsFileInfo *cfile, struct file_lock *flock, in cifs_unlock_range() argument
1531 struct cifs_tcon *tcon = tlink_tcon(cfile->tlink); in cifs_unlock_range()
1532 struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_unlock_range()
1561 list_for_each_entry_safe(li, tmp, &cfile->llist->locks, llist) { in cifs_unlock_range()
1593 cfile->fid.netfid, in cifs_unlock_range()
1602 &cfile->llist->locks); in cifs_unlock_range()
1616 stored_rc = cifs_lockv(xid, tcon, cfile->fid.netfid, in cifs_unlock_range()
1620 &cfile->llist->locks); in cifs_unlock_range()
1639 struct cifsFileInfo *cfile = (struct cifsFileInfo *)file->private_data; in cifs_setlk() local
1640 struct cifs_tcon *tcon = tlink_tcon(cfile->tlink); in cifs_setlk()
1642 struct inode *inode = d_inode(cfile->dentry); in cifs_setlk()
1659 rc = CIFSSMBPosixLock(xid, tcon, cfile->fid.netfid, in cifs_setlk()
1674 rc = cifs_lock_add_if(cfile, lock, wait_flag); in cifs_setlk()
1697 rc = server->ops->mand_lock(xid, cfile, flock->fl_start, length, in cifs_setlk()
1704 cifs_lock_add(cfile, lock); in cifs_setlk()
1706 rc = server->ops->mand_unlock_range(cfile, flock, xid); in cifs_setlk()
1734 struct cifsFileInfo *cfile; in cifs_flock() local
1743 cfile = (struct cifsFileInfo *)file->private_data; in cifs_flock()
1744 tcon = tlink_tcon(cfile->tlink); in cifs_flock()
1780 struct cifsFileInfo *cfile; in cifs_lock() local
1790 cfile = (struct cifsFileInfo *)file->private_data; in cifs_lock()
1791 tcon = tlink_tcon(cfile->tlink); in cifs_lock()
2050 struct cifsFileInfo *cfile; in find_writable_file() local
2053 rc = cifs_get_writable_file(cifs_inode, flags, &cfile); in find_writable_file()
2057 return cfile; in find_writable_file()
2066 struct cifsFileInfo *cfile; in cifs_get_writable_path() local
2074 cfile = list_entry(tmp, struct cifsFileInfo, in cifs_get_writable_path()
2076 full_path = build_path_from_dentry(cfile->dentry); in cifs_get_writable_path()
2087 cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_get_writable_path()
2101 struct cifsFileInfo *cfile; in cifs_get_readable_path() local
2109 cfile = list_entry(tmp, struct cifsFileInfo, in cifs_get_readable_path()
2111 full_path = build_path_from_dentry(cfile->dentry); in cifs_get_readable_path()
2122 cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_get_readable_path()
2300 wdata->pid = wdata->cfile->pid; in wdata_send_pages()
2306 if (wdata->cfile->invalidHandle) in wdata_send_pages()
2324 struct cifsFileInfo *cfile = NULL; in cifs_writepages() local
2357 if (cfile) in cifs_writepages()
2358 cifsFileInfo_put(cfile); in cifs_writepages()
2360 rc = cifs_get_writable_file(CIFS_I(inode), FIND_WR_ANY, &cfile); in cifs_writepages()
2401 wdata->cfile = cfile; in cifs_writepages()
2403 cfile = NULL; in cifs_writepages()
2405 if (!wdata->cfile) { in cifs_writepages()
2472 if (cfile) in cifs_writepages()
2473 cifsFileInfo_put(cfile); in cifs_writepages()
2532 struct cifsFileInfo *cfile = file->private_data; in cifs_write_end() local
2533 struct cifs_sb_info *cifs_sb = CIFS_SB(cfile->dentry->d_sb); in cifs_write_end()
2537 pid = cfile->pid; in cifs_write_end()
2563 rc = cifs_write(cfile, pid, page_data + offset, copied, &pos); in cifs_write_end()
2742 struct inode *inode = d_inode(wdata->cfile->dentry); in cifs_uncached_writev_complete()
2809 if (wdata->cfile->invalidHandle) { in cifs_resend_wdata()
2810 rc = cifs_reopen_file(wdata->cfile, false); in cifs_resend_wdata()
2839 if (wdata->cfile->invalidHandle) in cifs_resend_wdata()
2995 wdata->cfile = cifsFileInfo_get(open_file); in cifs_write_from_iter()
3007 if (wdata->cfile->invalidHandle) in cifs_write_from_iter()
3040 struct dentry *dentry = ctx->cfile->dentry; in collect_uncached_write_data()
3043 tcon = tlink_tcon(ctx->cfile->tlink); in collect_uncached_write_data()
3089 ctx->cfile, cifs_sb, &tmp_list, in collect_uncached_write_data()
3122 struct cifsFileInfo *cfile; in __cifs_writev() local
3145 cfile = file->private_data; in __cifs_writev()
3146 tcon = tlink_tcon(cfile->tlink); in __cifs_writev()
3155 ctx->cfile = cifsFileInfo_get(cfile); in __cifs_writev()
3178 cfile, cifs_sb, &ctx->list, ctx); in __cifs_writev()
3235 struct cifsFileInfo *cfile = (struct cifsFileInfo *)file->private_data; in cifs_writev() local
3238 struct TCP_Server_Info *server = tlink_tcon(cfile->tlink)->ses->server; in cifs_writev()
3252 if (!cifs_find_lock_conflict(cfile, iocb->ki_pos, iov_iter_count(from), in cifs_writev()
3273 struct cifsFileInfo *cfile = (struct cifsFileInfo *) in cifs_strict_writev() local
3275 struct cifs_tcon *tcon = tlink_tcon(cfile->tlink); in cifs_strict_writev()
3361 if (rdata->cfile) in cifs_readdata_release()
3362 cifsFileInfo_put(rdata->cfile); in cifs_readdata_release()
3544 if (rdata->cfile->invalidHandle) { in cifs_resend_rdata()
3545 rc = cifs_reopen_file(rdata->cfile, true); in cifs_resend_rdata()
3573 if (rdata->cfile->invalidHandle) in cifs_resend_rdata()
3705 rdata->cfile = cifsFileInfo_get(open_file); in cifs_send_async_read()
3720 if (rdata->cfile->invalidHandle) in cifs_send_async_read()
3753 cifs_sb = CIFS_SB(ctx->cfile->dentry->d_sb); in collect_uncached_read_data()
3808 rdata->cfile, cifs_sb, in collect_uncached_read_data()
3856 struct cifsFileInfo *cfile; in __cifs_readv() local
3877 cfile = file->private_data; in __cifs_readv()
3878 tcon = tlink_tcon(cfile->tlink); in __cifs_readv()
3890 ctx->cfile = cifsFileInfo_get(cfile); in __cifs_readv()
3915 rc = cifs_send_async_read(offset, len, cfile, cifs_sb, &ctx->list, ctx); in __cifs_readv()
3969 struct cifsFileInfo *cfile = (struct cifsFileInfo *) in cifs_strict_readv() local
3971 struct cifs_tcon *tcon = tlink_tcon(cfile->tlink); in cifs_strict_readv()
3995 if (!cifs_find_lock_conflict(cfile, iocb->ki_pos, iov_iter_count(to), in cifs_strict_readv()
4449 rdata->cfile = cifsFileInfo_get(open_file); in cifs_readpages()
4469 if (rdata->cfile->invalidHandle) in cifs_readpages()
4735 struct cifsFileInfo *cfile = container_of(work, struct cifsFileInfo, in cifs_oplock_break() local
4737 struct inode *inode = d_inode(cfile->dentry); in cifs_oplock_break()
4739 struct cifs_tcon *tcon = tlink_tcon(cfile->tlink); in cifs_oplock_break()
4747 server->ops->downgrade_oplock(server, cinode, cfile->oplock_level, in cifs_oplock_break()
4748 cfile->oplock_epoch, &purge_cache); in cifs_oplock_break()
4773 rc = cifs_push_locks(cfile); in cifs_oplock_break()
4784 if (!cfile->oplock_break_cancelled) { in cifs_oplock_break()
4785 rc = tcon->ses->server->ops->oplock_response(tcon, &cfile->fid, in cifs_oplock_break()
4789 _cifsFileInfo_put(cfile, false /* do not wait for ourself */, false); in cifs_oplock_break()
4815 struct cifsFileInfo *cfile = swap_file->private_data; in cifs_swap_activate() local
4842 if (cfile) in cifs_swap_activate()
4843 cfile->swapfile = true; in cifs_swap_activate()
4855 struct cifsFileInfo *cfile = file->private_data; in cifs_swap_deactivate() local
4861 if (cfile) in cifs_swap_deactivate()
4862 cfile->swapfile = false; in cifs_swap_deactivate()