Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

f2fs: make FAULT_DISCARD obsolete

__blkdev_issue_discard() in __submit_discard_cmd() will never fail, so
let's make FAULT_DISCARD fault injection obsolete.

Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>

authored by

Chao Yu and committed by
Jaegeuk Kim
1dd3b437 ce2739e4

+6 -18
+1 -1
Documentation/ABI/testing/sysfs-fs-f2fs
··· 732 732 FAULT_TRUNCATE 0x00000400 733 733 FAULT_READ_IO 0x00000800 734 734 FAULT_CHECKPOINT 0x00001000 735 - FAULT_DISCARD 0x00002000 735 + FAULT_DISCARD 0x00002000 (obsolete) 736 736 FAULT_WRITE_IO 0x00004000 737 737 FAULT_SLAB_ALLOC 0x00008000 738 738 FAULT_DQUOT_INIT 0x00010000
+1 -1
Documentation/filesystems/f2fs.rst
··· 206 206 FAULT_TRUNCATE 0x00000400 207 207 FAULT_READ_IO 0x00000800 208 208 FAULT_CHECKPOINT 0x00001000 209 - FAULT_DISCARD 0x00002000 209 + FAULT_DISCARD 0x00002000 (obsolete) 210 210 FAULT_WRITE_IO 0x00004000 211 211 FAULT_SLAB_ALLOC 0x00008000 212 212 FAULT_DQUOT_INIT 0x00010000
+1 -1
fs/f2fs/f2fs.h
··· 54 54 FAULT_TRUNCATE, 55 55 FAULT_READ_IO, 56 56 FAULT_CHECKPOINT, 57 - FAULT_DISCARD, 57 + FAULT_DISCARD, /* it's obsolete due to __blkdev_issue_discard() will never fail */ 58 58 FAULT_WRITE_IO, 59 59 FAULT_SLAB_ALLOC, 60 60 FAULT_DQUOT_INIT,
+3 -15
fs/f2fs/segment.c
··· 1287 1287 &(dcc->fstrim_list) : &(dcc->wait_list); 1288 1288 blk_opf_t flag = dpolicy->sync ? REQ_SYNC : 0; 1289 1289 block_t lstart, start, len, total_len; 1290 - int err = 0; 1291 1290 1292 1291 if (dc->state != D_PREP) 1293 1292 return 0; ··· 1327 1328 1328 1329 dc->di.len = 0; 1329 1330 1330 - while (total_len && *issued < dpolicy->max_requests && !err) { 1331 + while (total_len && *issued < dpolicy->max_requests) { 1331 1332 struct bio *bio = NULL; 1332 1333 unsigned long flags; 1333 1334 bool last = true; ··· 1342 1343 last = true; 1343 1344 1344 1345 dc->di.len += len; 1345 - 1346 - err = 0; 1347 - if (time_to_inject(sbi, FAULT_DISCARD)) { 1348 - err = -EIO; 1349 - spin_lock_irqsave(&dc->lock, flags); 1350 - if (dc->state == D_PARTIAL) 1351 - dc->state = D_SUBMIT; 1352 - spin_unlock_irqrestore(&dc->lock, flags); 1353 - 1354 - break; 1355 - } 1356 1346 1357 1347 __blkdev_issue_discard(bdev, SECTOR_FROM_BLOCK(start), 1358 1348 SECTOR_FROM_BLOCK(len), GFP_NOFS, &bio); ··· 1381 1393 len = total_len; 1382 1394 } 1383 1395 1384 - if (!err && len) { 1396 + if (len) { 1385 1397 dcc->undiscard_blks -= len; 1386 1398 __update_discard_tree_range(sbi, bdev, lstart, start, len); 1387 1399 } 1388 - return err; 1400 + return 0; 1389 1401 } 1390 1402 1391 1403 static void __insert_discard_cmd(struct f2fs_sb_info *sbi,