|
@@ -301,12 +301,10 @@ int vfs_fallocate(struct file *file, int mode, loff_t offset, loff_t len)
|
|
if (S_ISFIFO(inode->i_mode))
|
|
if (S_ISFIFO(inode->i_mode))
|
|
return -ESPIPE;
|
|
return -ESPIPE;
|
|
|
|
|
|
- /*
|
|
|
|
- * Let individual file system decide if it supports preallocation
|
|
|
|
- * for directories or not.
|
|
|
|
- */
|
|
|
|
- if (!S_ISREG(inode->i_mode) && !S_ISDIR(inode->i_mode) &&
|
|
|
|
- !S_ISBLK(inode->i_mode))
|
|
|
|
|
|
+ if (S_ISDIR(inode->i_mode))
|
|
|
|
+ return -EISDIR;
|
|
|
|
+
|
|
|
|
+ if (!S_ISREG(inode->i_mode) && !S_ISBLK(inode->i_mode))
|
|
return -ENODEV;
|
|
return -ENODEV;
|
|
|
|
|
|
/* Check for wrap through zero too */
|
|
/* Check for wrap through zero too */
|