diff options
author | Stefan Agner <stefan.agner@toradex.com> | 2019-05-23 11:11:00 +0200 |
---|---|---|
committer | Stefan Agner <stefan.agner@toradex.com> | 2019-05-23 11:11:00 +0200 |
commit | b794ea49ba3816c0d5cf05506964a8e69ce4efa3 (patch) | |
tree | b0e884d810b1c68b5615995a974cb2707ae02224 /fs/cifs/smb2ops.c | |
parent | 2136d9515afb95a10fe9c2a2da1b54d31caa2e42 (diff) | |
parent | d59f5a01fa438635ae098b2e170a18644df73c06 (diff) |
Merge tag 'v5.0.17' into toradex_5.0.y
This is the 5.0.17 stable release
Diffstat (limited to 'fs/cifs/smb2ops.c')
-rw-r--r-- | fs/cifs/smb2ops.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/fs/cifs/smb2ops.c b/fs/cifs/smb2ops.c index b29f711ab965..d5434ac0571b 100644 --- a/fs/cifs/smb2ops.c +++ b/fs/cifs/smb2ops.c @@ -949,6 +949,16 @@ smb2_set_ea(const unsigned int xid, struct cifs_tcon *tcon, resp_buftype[0] = resp_buftype[1] = resp_buftype[2] = CIFS_NO_BUFFER; memset(rsp_iov, 0, sizeof(rsp_iov)); + if (ses->server->ops->query_all_EAs) { + if (!ea_value) { + rc = ses->server->ops->query_all_EAs(xid, tcon, path, + ea_name, NULL, 0, + cifs_sb); + if (rc == -ENODATA) + goto sea_exit; + } + } + /* Open */ memset(&open_iov, 0, sizeof(open_iov)); rqst[0].rq_iov = open_iov; @@ -2200,6 +2210,8 @@ smb2_query_symlink(const unsigned int xid, struct cifs_tcon *tcon, rc = SMB2_open(xid, &oparms, utf16_path, &oplock, NULL, &err_iov, &resp_buftype); + if (!rc) + SMB2_close(xid, tcon, fid.persistent_fid, fid.volatile_fid); if (!rc || !err_iov.iov_base) { rc = -ENOENT; goto free_path; |