ext4: prohibit fstrim in norecovery mode
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>
This commit is contained in:

کامیت شده توسط
Theodore Ts'o

والد
5e86bdda41
کامیت
18915b5873
@@ -1000,6 +1000,13 @@ resizefs_out:
|
||||
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;
|
||||
|
مرجع در شماره جدید
Block a user