|
@@ -527,10 +527,15 @@ static int cifs_sfu_mode(struct cifs_fattr *fattr, const unsigned char *path,
|
|
|
return PTR_ERR(tlink);
|
|
|
tcon = tlink_tcon(tlink);
|
|
|
|
|
|
- rc = CIFSSMBQAllEAs(xid, tcon, path, "SETFILEBITS",
|
|
|
- ea_value, 4 /* size of buf */, cifs_sb->local_nls,
|
|
|
- cifs_sb->mnt_cifs_flags &
|
|
|
- CIFS_MOUNT_MAP_SPECIAL_CHR);
|
|
|
+ if (tcon->ses->server->ops->query_all_EAs == NULL) {
|
|
|
+ cifs_put_tlink(tlink);
|
|
|
+ return -EOPNOTSUPP;
|
|
|
+ }
|
|
|
+
|
|
|
+ rc = tcon->ses->server->ops->query_all_EAs(xid, tcon, path,
|
|
|
+ "SETFILEBITS", ea_value, 4 /* size of buf */,
|
|
|
+ cifs_sb->local_nls,
|
|
|
+ cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MAP_SPECIAL_CHR);
|
|
|
cifs_put_tlink(tlink);
|
|
|
if (rc < 0)
|
|
|
return (int)rc;
|