Lines Matching refs:cfile
284 struct cifsFileInfo *cfile; in cifs_new_fileinfo() local
289 cfile = kzalloc(sizeof(struct cifsFileInfo), GFP_KERNEL); in cifs_new_fileinfo()
290 if (cfile == NULL) in cifs_new_fileinfo()
291 return cfile; in cifs_new_fileinfo()
295 kfree(cfile); in cifs_new_fileinfo()
300 fdlocks->cfile = cfile; in cifs_new_fileinfo()
301 cfile->llist = fdlocks; in cifs_new_fileinfo()
306 cfile->count = 1; in cifs_new_fileinfo()
307 cfile->pid = current->tgid; in cifs_new_fileinfo()
308 cfile->uid = current_fsuid(); in cifs_new_fileinfo()
309 cfile->dentry = dget(dentry); in cifs_new_fileinfo()
310 cfile->f_flags = file->f_flags; in cifs_new_fileinfo()
311 cfile->invalidHandle = false; in cifs_new_fileinfo()
312 cfile->tlink = cifs_get_tlink(tlink); in cifs_new_fileinfo()
313 INIT_WORK(&cfile->oplock_break, cifs_oplock_break); in cifs_new_fileinfo()
314 mutex_init(&cfile->fh_mutex); in cifs_new_fileinfo()
315 spin_lock_init(&cfile->file_info_lock); in cifs_new_fileinfo()
334 server->ops->set_fid(cfile, fid, oplock); in cifs_new_fileinfo()
336 list_add(&cfile->tlist, &tcon->openFileList); in cifs_new_fileinfo()
340 list_add(&cfile->flist, &cinode->openFileList); in cifs_new_fileinfo()
342 list_add_tail(&cfile->flist, &cinode->openFileList); in cifs_new_fileinfo()
348 file->private_data = cfile; in cifs_new_fileinfo()
349 return cfile; in cifs_new_fileinfo()
461 struct cifsFileInfo *cfile = NULL; in cifs_open() local
542 cfile = cifs_new_fileinfo(&fid, file, tlink, oplock); in cifs_open()
543 if (cfile == NULL) { in cifs_open()
568 cfile->pid); in cifs_open()
578 static int cifs_push_posix_locks(struct cifsFileInfo *cfile);
585 cifs_relock_file(struct cifsFileInfo *cfile) in cifs_relock_file() argument
587 struct cifs_sb_info *cifs_sb = CIFS_SB(cfile->dentry->d_sb); in cifs_relock_file()
588 struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_relock_file()
589 struct cifs_tcon *tcon = tlink_tcon(cfile->tlink); in cifs_relock_file()
602 rc = cifs_push_posix_locks(cfile); in cifs_relock_file()
604 rc = tcon->ses->server->ops->push_mand_locks(cfile); in cifs_relock_file()
611 cifs_reopen_file(struct cifsFileInfo *cfile, bool can_flush) in cifs_reopen_file() argument
628 mutex_lock(&cfile->fh_mutex); in cifs_reopen_file()
629 if (!cfile->invalidHandle) { in cifs_reopen_file()
630 mutex_unlock(&cfile->fh_mutex); in cifs_reopen_file()
636 inode = d_inode(cfile->dentry); in cifs_reopen_file()
638 tcon = tlink_tcon(cfile->tlink); in cifs_reopen_file()
647 full_path = build_path_from_dentry(cfile->dentry); in cifs_reopen_file()
650 mutex_unlock(&cfile->fh_mutex); in cifs_reopen_file()
656 inode, cfile->f_flags, full_path); in cifs_reopen_file()
670 unsigned int oflags = cfile->f_flags & in cifs_reopen_file()
675 oflags, &oplock, &cfile->fid.netfid, xid); in cifs_reopen_file()
687 desired_access = cifs_convert_flags(cfile->f_flags); in cifs_reopen_file()
693 server->ops->get_lease_key(inode, &cfile->fid); in cifs_reopen_file()
701 oparms.fid = &cfile->fid; in cifs_reopen_file()
720 mutex_unlock(&cfile->fh_mutex); in cifs_reopen_file()
727 cfile->invalidHandle = false; in cifs_reopen_file()
728 mutex_unlock(&cfile->fh_mutex); in cifs_reopen_file()
758 server->ops->set_fid(cfile, &cfile->fid, oplock); in cifs_reopen_file()
760 cifs_relock_file(cfile); in cifs_reopen_file()
819 struct cifsFileInfo *cfile = file->private_data; in cifs_closedir() local
826 if (cfile == NULL) in cifs_closedir()
830 tcon = tlink_tcon(cfile->tlink); in cifs_closedir()
834 spin_lock(&cfile->file_info_lock); in cifs_closedir()
835 if (server->ops->dir_needs_close(cfile)) { in cifs_closedir()
836 cfile->invalidHandle = true; in cifs_closedir()
837 spin_unlock(&cfile->file_info_lock); in cifs_closedir()
839 rc = server->ops->close_dir(xid, tcon, &cfile->fid); in cifs_closedir()
846 spin_unlock(&cfile->file_info_lock); in cifs_closedir()
848 buf = cfile->srch_inf.ntwrk_buf_start; in cifs_closedir()
851 cfile->srch_inf.ntwrk_buf_start = NULL; in cifs_closedir()
852 if (cfile->srch_inf.smallBuf) in cifs_closedir()
858 cifs_put_tlink(cfile->tlink); in cifs_closedir()
899 __u64 length, __u8 type, struct cifsFileInfo *cfile, in cifs_find_fid_lock_conflict() argument
903 struct cifsFileInfo *cur_cfile = fdlocks->cfile; in cifs_find_fid_lock_conflict()
904 struct TCP_Server_Info *server = tlink_tcon(cfile->tlink)->ses->server; in cifs_find_fid_lock_conflict()
911 server->ops->compare_fids(cfile, cur_cfile)) { in cifs_find_fid_lock_conflict()
918 ((server->ops->compare_fids(cfile, cur_cfile) && in cifs_find_fid_lock_conflict()
929 cifs_find_lock_conflict(struct cifsFileInfo *cfile, __u64 offset, __u64 length, in cifs_find_lock_conflict() argument
935 struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_find_lock_conflict()
939 cfile, conf_lock, rw_check); in cifs_find_lock_conflict()
955 cifs_lock_test(struct cifsFileInfo *cfile, __u64 offset, __u64 length, in cifs_lock_test() argument
960 struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_lock_test()
961 struct TCP_Server_Info *server = tlink_tcon(cfile->tlink)->ses->server; in cifs_lock_test()
966 exist = cifs_find_lock_conflict(cfile, offset, length, type, in cifs_lock_test()
986 cifs_lock_add(struct cifsFileInfo *cfile, struct cifsLockInfo *lock) in cifs_lock_add() argument
988 struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_lock_add()
990 list_add_tail(&lock->llist, &cfile->llist->locks); in cifs_lock_add()
1001 cifs_lock_add_if(struct cifsFileInfo *cfile, struct cifsLockInfo *lock, in cifs_lock_add_if() argument
1005 struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_lock_add_if()
1013 exist = cifs_find_lock_conflict(cfile, lock->offset, lock->length, in cifs_lock_add_if()
1016 list_add_tail(&lock->llist, &cfile->llist->locks); in cifs_lock_add_if()
1104 cifs_push_mandatory_locks(struct cifsFileInfo *cfile) in cifs_push_mandatory_locks() argument
1119 tcon = tlink_tcon(cfile->tlink); in cifs_push_mandatory_locks()
1142 list_for_each_entry_safe(li, tmp, &cfile->llist->locks, llist) { in cifs_push_mandatory_locks()
1152 cfile->fid.netfid, in cifs_push_mandatory_locks()
1164 stored_rc = cifs_lockv(xid, tcon, cfile->fid.netfid, in cifs_push_mandatory_locks()
1192 cifs_push_posix_locks(struct cifsFileInfo *cfile) in cifs_push_posix_locks() argument
1194 struct inode *inode = d_inode(cfile->dentry); in cifs_push_posix_locks()
1195 struct cifs_tcon *tcon = tlink_tcon(cfile->tlink); in cifs_push_posix_locks()
1249 lck->netfid = cfile->fid.netfid; in cifs_push_posix_locks()
1280 cifs_push_locks(struct cifsFileInfo *cfile) in cifs_push_locks() argument
1282 struct cifs_sb_info *cifs_sb = CIFS_SB(cfile->dentry->d_sb); in cifs_push_locks()
1283 struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_push_locks()
1284 struct cifs_tcon *tcon = tlink_tcon(cfile->tlink); in cifs_push_locks()
1297 rc = cifs_push_posix_locks(cfile); in cifs_push_locks()
1299 rc = tcon->ses->server->ops->push_mand_locks(cfile); in cifs_push_locks()
1359 struct cifsFileInfo *cfile = (struct cifsFileInfo *)file->private_data; in cifs_getlk() local
1360 struct cifs_tcon *tcon = tlink_tcon(cfile->tlink); in cifs_getlk()
1362 __u16 netfid = cfile->fid.netfid; in cifs_getlk()
1382 rc = cifs_lock_test(cfile, flock->fl_start, length, type, flock); in cifs_getlk()
1387 rc = server->ops->mand_lock(xid, cfile, flock->fl_start, length, type, in cifs_getlk()
1390 rc = server->ops->mand_lock(xid, cfile, flock->fl_start, length, in cifs_getlk()
1406 rc = server->ops->mand_lock(xid, cfile, flock->fl_start, length, in cifs_getlk()
1410 rc = server->ops->mand_lock(xid, cfile, flock->fl_start, length, in cifs_getlk()
1442 cifs_unlock_range(struct cifsFileInfo *cfile, struct file_lock *flock, in cifs_unlock_range() argument
1453 struct cifs_tcon *tcon = tlink_tcon(cfile->tlink); in cifs_unlock_range()
1454 struct cifsInodeInfo *cinode = CIFS_I(d_inode(cfile->dentry)); in cifs_unlock_range()
1479 list_for_each_entry_safe(li, tmp, &cfile->llist->locks, llist) { in cifs_unlock_range()
1511 cfile->fid.netfid, in cifs_unlock_range()
1520 &cfile->llist->locks); in cifs_unlock_range()
1534 stored_rc = cifs_lockv(xid, tcon, cfile->fid.netfid, in cifs_unlock_range()
1538 &cfile->llist->locks); in cifs_unlock_range()
1557 struct cifsFileInfo *cfile = (struct cifsFileInfo *)file->private_data; in cifs_setlk() local
1558 struct cifs_tcon *tcon = tlink_tcon(cfile->tlink); in cifs_setlk()
1560 struct inode *inode = d_inode(cfile->dentry); in cifs_setlk()
1577 rc = CIFSSMBPosixLock(xid, tcon, cfile->fid.netfid, in cifs_setlk()
1591 rc = cifs_lock_add_if(cfile, lock, wait_flag); in cifs_setlk()
1614 rc = server->ops->mand_lock(xid, cfile, flock->fl_start, length, in cifs_setlk()
1621 cifs_lock_add(cfile, lock); in cifs_setlk()
1623 rc = server->ops->mand_unlock_range(cfile, flock, xid); in cifs_setlk()
1640 struct cifsFileInfo *cfile; in cifs_lock() local
1651 cfile = (struct cifsFileInfo *)file->private_data; in cifs_lock()
1652 tcon = tlink_tcon(cfile->tlink); in cifs_lock()
1658 netfid = cfile->fid.netfid; in cifs_lock()
2074 if (wdata->cfile != NULL) in wdata_send_pages()
2075 cifsFileInfo_put(wdata->cfile); in wdata_send_pages()
2076 wdata->cfile = find_writable_file(CIFS_I(mapping->host), false); in wdata_send_pages()
2077 if (!wdata->cfile) { in wdata_send_pages()
2081 wdata->pid = wdata->cfile->pid; in wdata_send_pages()
2082 server = tlink_tcon(wdata->cfile->tlink)->ses->server; in wdata_send_pages()
2259 struct cifsFileInfo *cfile = file->private_data; in cifs_write_end() local
2260 struct cifs_sb_info *cifs_sb = CIFS_SB(cfile->dentry->d_sb); in cifs_write_end()
2264 pid = cfile->pid; in cifs_write_end()
2290 rc = cifs_write(cfile, pid, page_data + offset, copied, &pos); in cifs_write_end()
2469 struct inode *inode = d_inode(wdata->cfile->dentry); in cifs_uncached_writev_complete()
2592 wdata->cfile = cifsFileInfo_get(open_file); in cifs_write_from_iter()
2601 if (!wdata->cfile->invalidHandle || in cifs_write_from_iter()
2602 !(rc = cifs_reopen_file(wdata->cfile, false))) in cifs_write_from_iter()
2630 struct dentry *dentry = ctx->cfile->dentry; in collect_uncached_write_data()
2634 tcon = tlink_tcon(ctx->cfile->tlink); in collect_uncached_write_data()
2676 ctx->cfile, cifs_sb, &tmp_list, in collect_uncached_write_data()
2710 struct cifsFileInfo *cfile; in cifs_user_writev() local
2728 cfile = file->private_data; in cifs_user_writev()
2729 tcon = tlink_tcon(cfile->tlink); in cifs_user_writev()
2738 ctx->cfile = cifsFileInfo_get(cfile); in cifs_user_writev()
2755 cfile, cifs_sb, &ctx->list, ctx); in cifs_user_writev()
2802 struct cifsFileInfo *cfile = (struct cifsFileInfo *)file->private_data; in cifs_writev() local
2805 struct TCP_Server_Info *server = tlink_tcon(cfile->tlink)->ses->server; in cifs_writev()
2819 if (!cifs_find_lock_conflict(cfile, iocb->ki_pos, iov_iter_count(from), in cifs_writev()
2840 struct cifsFileInfo *cfile = (struct cifsFileInfo *) in cifs_strict_writev() local
2842 struct cifs_tcon *tcon = tlink_tcon(cfile->tlink); in cifs_strict_writev()
2926 if (rdata->cfile) in cifs_readdata_release()
2927 cifsFileInfo_put(rdata->cfile); in cifs_readdata_release()
3136 rdata->cfile = cifsFileInfo_get(open_file); in cifs_send_async_read()
3149 if (!rdata->cfile->invalidHandle || in cifs_send_async_read()
3150 !(rc = cifs_reopen_file(rdata->cfile, true))) in cifs_send_async_read()
3180 tcon = tlink_tcon(ctx->cfile->tlink); in collect_uncached_read_data()
3181 cifs_sb = CIFS_SB(ctx->cfile->dentry->d_sb); in collect_uncached_read_data()
3225 rdata->cfile, cifs_sb, in collect_uncached_read_data()
3279 struct cifsFileInfo *cfile; in cifs_user_readv() local
3287 cfile = file->private_data; in cifs_user_readv()
3288 tcon = tlink_tcon(cfile->tlink); in cifs_user_readv()
3300 ctx->cfile = cifsFileInfo_get(cfile); in cifs_user_readv()
3319 rc = cifs_send_async_read(offset, len, cfile, cifs_sb, &ctx->list, ctx); in cifs_user_readv()
3363 struct cifsFileInfo *cfile = (struct cifsFileInfo *) in cifs_strict_readv() local
3365 struct cifs_tcon *tcon = tlink_tcon(cfile->tlink); in cifs_strict_readv()
3389 if (!cifs_find_lock_conflict(cfile, iocb->ki_pos, iov_iter_count(to), in cifs_strict_readv()
3825 rdata->cfile = cifsFileInfo_get(open_file); in cifs_readpages()
3841 if (!rdata->cfile->invalidHandle || in cifs_readpages()
3842 !(rc = cifs_reopen_file(rdata->cfile, true))) in cifs_readpages()
4101 struct cifsFileInfo *cfile = container_of(work, struct cifsFileInfo, in cifs_oplock_break() local
4103 struct inode *inode = d_inode(cfile->dentry); in cifs_oplock_break()
4105 struct cifs_tcon *tcon = tlink_tcon(cfile->tlink); in cifs_oplock_break()
4136 rc = cifs_push_locks(cfile); in cifs_oplock_break()
4146 if (!cfile->oplock_break_cancelled) { in cifs_oplock_break()
4147 rc = tcon->ses->server->ops->oplock_response(tcon, &cfile->fid, in cifs_oplock_break()