|
@@ -995,6 +995,15 @@ cifs_rename_pending_delete(const char *full_path, struct dentry *dentry,
|
|
|
return PTR_ERR(tlink);
|
|
|
tcon = tlink_tcon(tlink);
|
|
|
|
|
|
+ /*
|
|
|
+ * We cannot rename the file if the server doesn't support
|
|
|
+ * CAP_INFOLEVEL_PASSTHRU
|
|
|
+ */
|
|
|
+ if (!(tcon->ses->capabilities & CAP_INFOLEVEL_PASSTHRU)) {
|
|
|
+ rc = -EBUSY;
|
|
|
+ goto out;
|
|
|
+ }
|
|
|
+
|
|
|
rc = CIFSSMBOpen(xid, tcon, full_path, FILE_OPEN,
|
|
|
DELETE|FILE_WRITE_ATTRIBUTES, CREATE_NOT_DIR,
|
|
|
&netfid, &oplock, NULL, cifs_sb->local_nls,
|