Lines Matching refs:cifs_file
373 cifsFileInfo_get(struct cifsFileInfo *cifs_file) in cifsFileInfo_get() argument
375 spin_lock(&cifs_file->file_info_lock); in cifsFileInfo_get()
376 cifsFileInfo_get_locked(cifs_file); in cifsFileInfo_get()
377 spin_unlock(&cifs_file->file_info_lock); in cifsFileInfo_get()
378 return cifs_file; in cifsFileInfo_get()
381 static void cifsFileInfo_put_final(struct cifsFileInfo *cifs_file) in cifsFileInfo_put_final() argument
383 struct inode *inode = d_inode(cifs_file->dentry); in cifsFileInfo_put_final()
393 list_for_each_entry_safe(li, tmp, &cifs_file->llist->locks, llist) { in cifsFileInfo_put_final()
398 list_del(&cifs_file->llist->llist); in cifsFileInfo_put_final()
399 kfree(cifs_file->llist); in cifsFileInfo_put_final()
402 cifs_put_tlink(cifs_file->tlink); in cifsFileInfo_put_final()
403 dput(cifs_file->dentry); in cifsFileInfo_put_final()
405 kfree(cifs_file); in cifsFileInfo_put_final()
410 struct cifsFileInfo *cifs_file = container_of(work, in cifsFileInfo_put_work() local
413 cifsFileInfo_put_final(cifs_file); in cifsFileInfo_put_work()
421 void cifsFileInfo_put(struct cifsFileInfo *cifs_file) in cifsFileInfo_put() argument
423 _cifsFileInfo_put(cifs_file, true, true); in cifsFileInfo_put()
439 void _cifsFileInfo_put(struct cifsFileInfo *cifs_file, in _cifsFileInfo_put() argument
442 struct inode *inode = d_inode(cifs_file->dentry); in _cifsFileInfo_put()
443 struct cifs_tcon *tcon = tlink_tcon(cifs_file->tlink); in _cifsFileInfo_put()
454 spin_lock(&cifs_file->file_info_lock); in _cifsFileInfo_put()
455 if (--cifs_file->count > 0) { in _cifsFileInfo_put()
456 spin_unlock(&cifs_file->file_info_lock); in _cifsFileInfo_put()
461 spin_unlock(&cifs_file->file_info_lock); in _cifsFileInfo_put()
467 cifs_add_pending_open_locked(&fid, cifs_file->tlink, &open); in _cifsFileInfo_put()
470 list_del(&cifs_file->flist); in _cifsFileInfo_put()
471 list_del(&cifs_file->tlist); in _cifsFileInfo_put()
476 d_inode(cifs_file->dentry)); in _cifsFileInfo_put()
491 cancel_work_sync(&cifs_file->oplock_break) : false; in _cifsFileInfo_put()
493 if (!tcon->need_reconnect && !cifs_file->invalidHandle) { in _cifsFileInfo_put()
499 server->ops->close_getattr(xid, tcon, cifs_file); in _cifsFileInfo_put()
501 server->ops->close(xid, tcon, &cifs_file->fid); in _cifsFileInfo_put()
511 queue_work(fileinfo_put_wq, &cifs_file->put); in _cifsFileInfo_put()
513 cifsFileInfo_put_final(cifs_file); in _cifsFileInfo_put()