diff options
Diffstat (limited to 'fs/cifs/inode.c')
-rw-r--r-- | fs/cifs/inode.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c index 9cb9679d7357..be58b8fcdb3c 100644 --- a/fs/cifs/inode.c +++ b/fs/cifs/inode.c | |||
@@ -527,10 +527,15 @@ static int cifs_sfu_mode(struct cifs_fattr *fattr, const unsigned char *path, | |||
527 | return PTR_ERR(tlink); | 527 | return PTR_ERR(tlink); |
528 | tcon = tlink_tcon(tlink); | 528 | tcon = tlink_tcon(tlink); |
529 | 529 | ||
530 | rc = CIFSSMBQAllEAs(xid, tcon, path, "SETFILEBITS", | 530 | if (tcon->ses->server->ops->query_all_EAs == NULL) { |
531 | ea_value, 4 /* size of buf */, cifs_sb->local_nls, | 531 | cifs_put_tlink(tlink); |
532 | cifs_sb->mnt_cifs_flags & | 532 | return -EOPNOTSUPP; |
533 | CIFS_MOUNT_MAP_SPECIAL_CHR); | 533 | } |
534 | |||
535 | rc = tcon->ses->server->ops->query_all_EAs(xid, tcon, path, | ||
536 | "SETFILEBITS", ea_value, 4 /* size of buf */, | ||
537 | cifs_sb->local_nls, | ||
538 | cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MAP_SPECIAL_CHR); | ||
534 | cifs_put_tlink(tlink); | 539 | cifs_put_tlink(tlink); |
535 | if (rc < 0) | 540 | if (rc < 0) |
536 | return (int)rc; | 541 | return (int)rc; |