CIFS: Move close code to ops struct
Signed-off-by: Pavel Shilovsky <pshilovsky@samba.org> Signed-off-by: Steve French <smfrench@gmail.com>
This commit is contained in:

committed by
Steve French

parent
fb1214e48f
commit
0ff78a221b
@@ -326,10 +326,13 @@ void cifsFileInfo_put(struct cifsFileInfo *cifs_file)
|
||||
cancel_work_sync(&cifs_file->oplock_break);
|
||||
|
||||
if (!tcon->need_reconnect && !cifs_file->invalidHandle) {
|
||||
struct TCP_Server_Info *server = tcon->ses->server;
|
||||
unsigned int xid;
|
||||
int rc;
|
||||
int rc = -ENOSYS;
|
||||
|
||||
xid = get_xid();
|
||||
rc = CIFSSMBClose(xid, tcon, cifs_file->fid.netfid);
|
||||
if (server->ops->close)
|
||||
rc = server->ops->close(xid, tcon, &cifs_file->fid);
|
||||
free_xid(xid);
|
||||
}
|
||||
|
||||
@@ -423,7 +426,8 @@ int cifs_open(struct inode *inode, struct file *file)
|
||||
|
||||
cfile = cifs_new_fileinfo(&fid, file, tlink, oplock);
|
||||
if (cfile == NULL) {
|
||||
CIFSSMBClose(xid, tcon, fid.netfid);
|
||||
if (tcon->ses->server->ops->close)
|
||||
tcon->ses->server->ops->close(xid, tcon, &fid);
|
||||
rc = -ENOMEM;
|
||||
goto out;
|
||||
}
|
||||
|
Reference in New Issue
Block a user