open_file
extern int open_file(char *path, int r, int w, int append);
fd = open_file(name, r, w, append);
EXPORT_SYMBOL_GPL(open_file);
goto open_file;
open_file:
struct cifsFileInfo *open_file = NULL;
open_file = find_readable_file(CIFS_I(inode), FIND_FSUID_ONLY);
if (!open_file)
pntsd = get_cifs_acl_by_fid(cifs_sb, &open_file->fid, pacllen, info);
cifsFileInfo_put(open_file);
const char *full_path, struct cifsFileInfo *open_file,
struct cifsFileInfo *open_file, *tmp;
list_for_each_entry(open_file, &tcon->openFileList, tlist) {
if (!open_file->invalidHandle)
cifsFileInfo_get(open_file);
list_add_tail(&open_file->rlist, &tmp_list);
list_for_each_entry_safe(open_file, tmp, &tmp_list, rlist) {
if (cifs_reopen_file(open_file, false /* do not flush */))
list_del_init(&open_file->rlist);
cifsFileInfo_put(open_file);
struct cifsFileInfo *open_file = NULL;
list_for_each_entry(open_file, &cinode->openFileList, flist) {
if (file->f_flags == open_file->f_flags) {
struct cifsFileInfo *open_file = NULL;
list_for_each_entry(open_file, &cifs_inode->openFileList, flist) {
if (fsuid_only && !uid_eq(open_file->uid, current_fsuid()))
open_file->status_file_deleted)
open_file->f_flags))
if (OPEN_FMODE(open_file->f_flags) & FMODE_READ) {
if ((!open_file->invalidHandle)) {
cifsFileInfo_get(open_file);
return open_file;
struct cifsFileInfo *open_file, *inv_file = NULL;
list_for_each_entry(open_file, &cifs_inode->openFileList, flist) {
if (!any_available && open_file->pid != current->tgid)
if (fsuid_only && !uid_eq(open_file->uid, current_fsuid()))
if (with_delete && !(open_file->fid.access & DELETE))
open_file->status_file_deleted)
open_file->f_flags))
if (OPEN_FMODE(open_file->f_flags) & FMODE_WRITE) {
if (!open_file->invalidHandle) {
cifsFileInfo_get(open_file);
*ret_file = open_file;
inv_file = open_file;
struct cifsFileInfo *open_file = NULL;
open_file = file->private_data;
req->cfile = cifsFileInfo_get(open_file);
struct cifsFileInfo *open_file;
list_for_each_entry(open_file, &cifs_inode->openFileList, flist) {
if (OPEN_FMODE(open_file->f_flags) & FMODE_WRITE) {
struct cifsFileInfo *open_file = NULL;
open_file = list_entry(tmp, struct cifsFileInfo, tlist);
open_file->invalidHandle = true;
open_file->oplock_break_cancelled = true;
struct cifsFileInfo *open_file = req->cfile;
server = cifs_pick_channel(tlink_tcon(open_file->tlink)->ses);
if (open_file->invalidHandle) {
rc = cifs_reopen_file(open_file, false);
const char *full_path, struct cifsFileInfo *open_file,
if (open_file && (OPEN_FMODE(open_file->f_flags) & FMODE_WRITE)) {
tcon = tlink_tcon(open_file->tlink);
open_file,
open_file = find_writable_file(cifsInode, FIND_FSUID_ONLY);
if (open_file) {
tcon = tlink_tcon(open_file->tlink);
open_file,
cifsFileInfo_put(open_file);
struct cifsFileInfo *open_file = NULL;
open_file = attrs->ia_file->private_data;
open_file, attrs->ia_size);
if (open_file && (OPEN_FMODE(open_file->f_flags) & FMODE_WRITE)) {
pTcon = tlink_tcon(open_file->tlink);
open_file->fid.netfid,
open_file->pid);
open_file = find_writable_file(cifsInode, FIND_FSUID_ONLY);
if (open_file) {
pTcon = tlink_tcon(open_file->tlink);
open_file->fid.netfid,
open_file->pid);
cifsFileInfo_put(open_file);
if (open_file)
if (open_file == NULL)
cifsFileInfo_put(open_file);
if (open_file == NULL &&
struct cifsFileInfo *open_file;
open_file = find_writable_file(cinode, FIND_FSUID_ONLY);
if (open_file) {
fid.netfid = open_file->fid.netfid;
netpid = open_file->pid;
tcon = tlink_tcon(open_file->tlink);
if (open_file) {
cifsFileInfo_put(open_file);
open_file = NULL;
struct cifsFileInfo *open_file = NULL;
open_file = find_readable_file(CIFS_I(inode), FIND_FSUID_ONLY);
if (!open_file || (info & SACL_SECINFO))
pntsd = get_smb2_acl_by_fid(cifs_sb, &open_file->fid, pacllen, info);
cifsFileInfo_put(open_file);
return open_file(data);
ret = open_file(data);
self->fd = open_file("", self->path);