cifs: Fix non-availability of dedup breaking generic/304
[platform/kernel/linux-starfive.git] / fs / smb / client / cifsfs.c
index 22869cd..99497f1 100644 (file)
@@ -1191,6 +1191,7 @@ const char *cifs_get_link(struct dentry *dentry, struct inode *inode,
 
 const struct inode_operations cifs_symlink_inode_ops = {
        .get_link = cifs_get_link,
+       .setattr = cifs_setattr,
        .permission = cifs_permission,
        .listxattr = cifs_listxattr,
 };
@@ -1207,7 +1208,9 @@ static loff_t cifs_remap_file_range(struct file *src_file, loff_t off,
        unsigned int xid;
        int rc;
 
-       if (remap_flags & ~(REMAP_FILE_DEDUP | REMAP_FILE_ADVISORY))
+       if (remap_flags & REMAP_FILE_DEDUP)
+               return -EOPNOTSUPP;
+       if (remap_flags & ~REMAP_FILE_ADVISORY)
                return -EINVAL;
 
        cifs_dbg(FYI, "clone range\n");