diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c index bd26f2a90751..85a91a61b761 100644 --- a/fs/ext4/mballoc.c +++ b/fs/ext4/mballoc.c @@ -6496,7 +6496,13 @@ static void ext4_mb_clear_bb(handle_t *handle, struct inode *inode, if (test_opt(sb, DISCARD)) { err = ext4_issue_discard(sb, block_group, bit, count_clusters, NULL); - if (err && err != -EOPNOTSUPP) + /* + * Ignore EOPNOTSUPP error. This is consistent with + * what happens when using journal. + */ + if (err == -EOPNOTSUPP) + err = 0; + if (err) ext4_msg(sb, KERN_WARNING, "discard request in" " group:%u block:%d count:%lu failed" " with %d", block_group, bit, count,