Hi Jan, I love your patch! Yet something to improve: [auto build test ERROR on ext4/dev] [cannot apply to v5.3 next-20190930] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Jan-Kara/ext4-Fix-transaction-overflow-due-to-revoke-descriptors/20190930-184615 base: https://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git dev config: i386-defconfig (attached as .config) compiler: gcc-7 (Debian 7.4.0-13) 7.4.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 If you fix the issue, kindly add following tag Reported-by: kbuild test robot <lkp@xxxxxxxxx> All errors (new ones prefixed by >>): fs/jbd2/transaction.c: In function 'jbd2_journal_start_reserved': >> fs/jbd2/transaction.c:596:22: error: 'handle_t {aka struct jbd2_journal_handle}' has no member named 'h_buffer_credits'; did you mean 'h_total_credits'? line_no, handle->h_buffer_credits); ^~~~~~~~~~~~~~~~ h_total_credits vim +596 fs/jbd2/transaction.c 8f7d89f36829b9 Jan Kara 2013-06-04 546 8f7d89f36829b9 Jan Kara 2013-06-04 547 /** f69120ce6c024a Tobin C. Harding 2018-01-10 548 * int jbd2_journal_start_reserved() - start reserved handle 8f7d89f36829b9 Jan Kara 2013-06-04 549 * @handle: handle to start f69120ce6c024a Tobin C. Harding 2018-01-10 550 * @type: for handle statistics f69120ce6c024a Tobin C. Harding 2018-01-10 551 * @line_no: for handle statistics 8f7d89f36829b9 Jan Kara 2013-06-04 552 * 8f7d89f36829b9 Jan Kara 2013-06-04 553 * Start handle that has been previously reserved with jbd2_journal_reserve(). 8f7d89f36829b9 Jan Kara 2013-06-04 554 * This attaches @handle to the running transaction (or creates one if there's 8f7d89f36829b9 Jan Kara 2013-06-04 555 * not transaction running). Unlike jbd2_journal_start() this function cannot 8f7d89f36829b9 Jan Kara 2013-06-04 556 * block on journal commit, checkpointing, or similar stuff. It can block on 8f7d89f36829b9 Jan Kara 2013-06-04 557 * memory allocation or frozen journal though. 8f7d89f36829b9 Jan Kara 2013-06-04 558 * 8f7d89f36829b9 Jan Kara 2013-06-04 559 * Return 0 on success, non-zero on error - handle is freed in that case. 8f7d89f36829b9 Jan Kara 2013-06-04 560 */ 8f7d89f36829b9 Jan Kara 2013-06-04 561 int jbd2_journal_start_reserved(handle_t *handle, unsigned int type, 8f7d89f36829b9 Jan Kara 2013-06-04 562 unsigned int line_no) 8f7d89f36829b9 Jan Kara 2013-06-04 563 { 8f7d89f36829b9 Jan Kara 2013-06-04 564 journal_t *journal = handle->h_journal; 8f7d89f36829b9 Jan Kara 2013-06-04 565 int ret = -EIO; 8f7d89f36829b9 Jan Kara 2013-06-04 566 8f7d89f36829b9 Jan Kara 2013-06-04 567 if (WARN_ON(!handle->h_reserved)) { 8f7d89f36829b9 Jan Kara 2013-06-04 568 /* Someone passed in normal handle? Just stop it. */ 8f7d89f36829b9 Jan Kara 2013-06-04 569 jbd2_journal_stop(handle); 8f7d89f36829b9 Jan Kara 2013-06-04 570 return ret; 8f7d89f36829b9 Jan Kara 2013-06-04 571 } 8f7d89f36829b9 Jan Kara 2013-06-04 572 /* 8f7d89f36829b9 Jan Kara 2013-06-04 573 * Usefulness of mixing of reserved and unreserved handles is 8f7d89f36829b9 Jan Kara 2013-06-04 574 * questionable. So far nobody seems to need it so just error out. 8f7d89f36829b9 Jan Kara 2013-06-04 575 */ 8f7d89f36829b9 Jan Kara 2013-06-04 576 if (WARN_ON(current->journal_info)) { 8f7d89f36829b9 Jan Kara 2013-06-04 577 jbd2_journal_free_reserved(handle); 8f7d89f36829b9 Jan Kara 2013-06-04 578 return ret; 8f7d89f36829b9 Jan Kara 2013-06-04 579 } 8f7d89f36829b9 Jan Kara 2013-06-04 580 8f7d89f36829b9 Jan Kara 2013-06-04 581 handle->h_journal = NULL; 8f7d89f36829b9 Jan Kara 2013-06-04 582 /* 8f7d89f36829b9 Jan Kara 2013-06-04 583 * GFP_NOFS is here because callers are likely from writeback or 8f7d89f36829b9 Jan Kara 2013-06-04 584 * similarly constrained call sites 8f7d89f36829b9 Jan Kara 2013-06-04 585 */ 8f7d89f36829b9 Jan Kara 2013-06-04 586 ret = start_this_handle(journal, handle, GFP_NOFS); 92e3b405377070 Dan Carpenter 2014-02-17 587 if (ret < 0) { b2569260d55228 Theodore Ts'o 2018-04-18 588 handle->h_journal = journal; 8f7d89f36829b9 Jan Kara 2013-06-04 589 jbd2_journal_free_reserved(handle); 92e3b405377070 Dan Carpenter 2014-02-17 590 return ret; 92e3b405377070 Dan Carpenter 2014-02-17 591 } 8f7d89f36829b9 Jan Kara 2013-06-04 592 handle->h_type = type; 8f7d89f36829b9 Jan Kara 2013-06-04 593 handle->h_line_no = line_no; 4c273352bb4583 Xiaoguang Wang 2019-08-24 594 trace_jbd2_handle_start(journal->j_fs_dev->bd_dev, 4c273352bb4583 Xiaoguang Wang 2019-08-24 595 handle->h_transaction->t_tid, type, 4c273352bb4583 Xiaoguang Wang 2019-08-24 @596 line_no, handle->h_buffer_credits); 92e3b405377070 Dan Carpenter 2014-02-17 597 return 0; 8f7d89f36829b9 Jan Kara 2013-06-04 598 } 8f7d89f36829b9 Jan Kara 2013-06-04 599 EXPORT_SYMBOL(jbd2_journal_start_reserved); 470decc613ab20 Dave Kleikamp 2006-10-11 600 :::::: The code at line 596 was first introduced by commit :::::: 4c273352bb4583750bf511fe24fe410610414496 jbd2: add missing tracepoint for reserved handle :::::: TO: Xiaoguang Wang <xiaoguang.wang@xxxxxxxxxxxxxxxxx> :::::: CC: Theodore Ts'o <tytso@xxxxxxx> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip