From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: "Darrick J. Wong" <darrick.wong@oracle.com>,
Theodore Ts'o <tytso@mit.edu>, Sasha Levin <sashal@kernel.org>,
linux-ext4@vger.kernel.org
Subject: [PATCH AUTOSEL 4.4 12/16] ext4: prohibit fstrim in norecovery mode
Date: Fri, 29 Mar 2019 21:31:56 -0400 [thread overview]
Message-ID: <20190330013200.1130-12-sashal@kernel.org> (raw)
In-Reply-To: <20190330013200.1130-1-sashal@kernel.org>
From: "Darrick J. Wong" <darrick.wong@oracle.com>
[ Upstream commit 18915b5873f07e5030e6fb108a050fa7c71c59fb ]
The ext4 fstrim implementation uses the block bitmaps to find free space
that can be discarded. If we haven't replayed the journal, the bitmaps
will be stale and we absolutely *cannot* use stale metadata to zap the
underlying storage.
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
fs/ext4/ioctl.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/fs/ext4/ioctl.c b/fs/ext4/ioctl.c
index bcd7c4788903..e44e3cd738b6 100644
--- a/fs/ext4/ioctl.c
+++ b/fs/ext4/ioctl.c
@@ -599,6 +599,13 @@ long ext4_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
if (!blk_queue_discard(q))
return -EOPNOTSUPP;
+ /*
+ * We haven't replayed the journal, so we cannot use our
+ * block-bitmap-guided storage zapping commands.
+ */
+ if (test_opt(sb, NOLOAD) && ext4_has_feature_journal(sb))
+ return -EROFS;
+
if (copy_from_user(&range, (struct fstrim_range __user *)arg,
sizeof(range)))
return -EFAULT;
--
2.19.1
next prev parent reply other threads:[~2019-03-30 1:33 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-30 1:31 [PATCH AUTOSEL 4.4 01/16] rsi: improve kernel thread handling to fix kernel panic Sasha Levin
2019-03-30 1:31 ` [PATCH AUTOSEL 4.4 02/16] 9p: do not trust pdu content for stat item size Sasha Levin
2019-03-30 1:31 ` [PATCH AUTOSEL 4.4 03/16] 9p locks: add mount option for lock retry interval Sasha Levin
2019-03-30 1:31 ` [PATCH AUTOSEL 4.4 04/16] f2fs: fix to do sanity check with current segment number Sasha Levin
2019-03-30 1:31 ` [PATCH AUTOSEL 4.4 05/16] serial: uartps: console_setup() can't be placed to init section Sasha Levin
2019-03-30 1:31 ` [PATCH AUTOSEL 4.4 06/16] ARM: samsung: Limit SAMSUNG_PM_CHECK config option to non-Exynos platforms Sasha Levin
2019-03-30 1:31 ` [PATCH AUTOSEL 4.4 07/16] ACPI / SBS: Fix GPE storm on recent MacBookPro's Sasha Levin
2019-03-30 1:31 ` [PATCH AUTOSEL 4.4 08/16] cifs: fallback to older infolevels on findfirst queryinfo retry Sasha Levin
2019-03-30 1:31 ` [PATCH AUTOSEL 4.4 09/16] crypto: sha256/arm - fix crash bug in Thumb2 build Sasha Levin
2019-03-30 1:31 ` [PATCH AUTOSEL 4.4 10/16] crypto: sha512/arm " Sasha Levin
2019-03-30 1:31 ` [PATCH AUTOSEL 4.4 11/16] iommu/dmar: Fix buffer overflow during PCI bus notification Sasha Levin
2019-03-30 1:31 ` Sasha Levin [this message]
2019-03-30 1:31 ` [PATCH AUTOSEL 4.4 13/16] ARM: 8839/1: kprobe: make patch_lock a raw_spinlock_t Sasha Levin
2019-03-30 1:31 ` [PATCH AUTOSEL 4.4 14/16] appletalk: Fix use-after-free in atalk_proc_exit Sasha Levin
2019-03-30 1:31 ` [PATCH AUTOSEL 4.4 15/16] lib/div64.c: off by one in shift Sasha Levin
2019-03-30 1:32 ` [PATCH AUTOSEL 4.4 16/16] include/linux/swap.h: use offsetof() instead of custom __swapoffset macro Sasha Levin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190330013200.1130-12-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=darrick.wong@oracle.com \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=stable@vger.kernel.org \
--cc=tytso@mit.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome