diff --git a/[refs] b/[refs] index e042284d4a94..c279febf76ff 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 0b75a840120b1e647e32342e9cc46631410088d5 +refs/heads/master: 4143179218960a70d821a425e3c23ce44aa93dee diff --git a/trunk/fs/ext4/ioctl.c b/trunk/fs/ext4/ioctl.c index eb3bc2fe647e..25ba7c79d289 100644 --- a/trunk/fs/ext4/ioctl.c +++ b/trunk/fs/ext4/ioctl.c @@ -334,12 +334,16 @@ long ext4_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) case FITRIM: { struct super_block *sb = inode->i_sb; + struct request_queue *q = bdev_get_queue(sb->s_bdev); struct fstrim_range range; int ret = 0; if (!capable(CAP_SYS_ADMIN)) return -EPERM; + if (!blk_queue_discard(q)) + return -EOPNOTSUPP; + if (copy_from_user(&range, (struct fstrim_range *)arg, sizeof(range))) return -EFAULT;