All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [RFC PATCH 3/4] ext4: factor out write end code of inline file
  2021-07-06  2:42 ` [RFC PATCH 3/4] ext4: factor out write end code of inline file Zhang Yi
@ 2021-07-06  9:00 ` Dan Carpenter
  2021-07-06  5:48   ` kernel test robot
  2021-07-07 16:49   ` Jan Kara
  2 siblings, 0 replies; 18+ messages in thread
From: kernel test robot @ 2021-07-06  7:05 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 7318 bytes --]

CC: kbuild-all(a)lists.01.org
In-Reply-To: <20210706024210.746788-4-yi.zhang@huawei.com>
References: <20210706024210.746788-4-yi.zhang@huawei.com>
TO: Zhang Yi <yi.zhang@huawei.com>

Hi Zhang,

[FYI, it's a private test report for your RFC patch.]
[auto build test WARNING on ext4/dev]
[also build test WARNING on v5.13 next-20210701]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Zhang-Yi/ext4-improve-delalloc-buffer-write-performance/20210706-103431
base:   https://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git dev
:::::: branch date: 5 hours ago
:::::: commit date: 5 hours ago
config: i386-randconfig-m021-20210705 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
fs/ext4/inline.c:793 ext4_write_inline_data_end() error: uninitialized symbol 'ret'.

vim +/ret +793 fs/ext4/inline.c

f19d5870cbf72d Tao Ma        2012-12-10  728  
f19d5870cbf72d Tao Ma        2012-12-10  729  int ext4_write_inline_data_end(struct inode *inode, loff_t pos, unsigned len,
f19d5870cbf72d Tao Ma        2012-12-10  730  			       unsigned copied, struct page *page)
f19d5870cbf72d Tao Ma        2012-12-10  731  {
b6bfc15d82616d Zhang Yi      2021-07-06  732  	handle_t *handle = ext4_journal_current_handle();
b6bfc15d82616d Zhang Yi      2021-07-06  733  	int i_size_changed = 0;
b6bfc15d82616d Zhang Yi      2021-07-06  734  	int no_expand;
f19d5870cbf72d Tao Ma        2012-12-10  735  	void *kaddr;
f19d5870cbf72d Tao Ma        2012-12-10  736  	struct ext4_iloc iloc;
b6bfc15d82616d Zhang Yi      2021-07-06  737  	int ret, ret2;
f19d5870cbf72d Tao Ma        2012-12-10  738  
4dfba1ee616130 Zhang Yi      2021-07-06  739  	if (unlikely(copied < len) && !PageUptodate(page))
b6bfc15d82616d Zhang Yi      2021-07-06  740  		copied = 0;
f19d5870cbf72d Tao Ma        2012-12-10  741  
b6bfc15d82616d Zhang Yi      2021-07-06  742  	if (likely(copied)) {
f19d5870cbf72d Tao Ma        2012-12-10  743  		ret = ext4_get_inode_loc(inode, &iloc);
f19d5870cbf72d Tao Ma        2012-12-10  744  		if (ret) {
b6bfc15d82616d Zhang Yi      2021-07-06  745  			unlock_page(page);
b6bfc15d82616d Zhang Yi      2021-07-06  746  			put_page(page);
f19d5870cbf72d Tao Ma        2012-12-10  747  			ext4_std_error(inode->i_sb, ret);
b6bfc15d82616d Zhang Yi      2021-07-06  748  			goto out;
f19d5870cbf72d Tao Ma        2012-12-10  749  		}
c755e251357a0c Theodore Ts'o 2017-01-11  750  		ext4_write_lock_xattr(inode, &no_expand);
f19d5870cbf72d Tao Ma        2012-12-10  751  		BUG_ON(!ext4_has_inline_data(inode));
f19d5870cbf72d Tao Ma        2012-12-10  752  
f19d5870cbf72d Tao Ma        2012-12-10  753  		kaddr = kmap_atomic(page);
4dfba1ee616130 Zhang Yi      2021-07-06  754  		ext4_write_inline_data(inode, &iloc, kaddr, pos, copied);
f19d5870cbf72d Tao Ma        2012-12-10  755  		kunmap_atomic(kaddr);
f19d5870cbf72d Tao Ma        2012-12-10  756  		SetPageUptodate(page);
f19d5870cbf72d Tao Ma        2012-12-10  757  		/* clear page dirty so that writepages wouldn't work for us. */
f19d5870cbf72d Tao Ma        2012-12-10  758  		ClearPageDirty(page);
f19d5870cbf72d Tao Ma        2012-12-10  759  
c755e251357a0c Theodore Ts'o 2017-01-11  760  		ext4_write_unlock_xattr(inode, &no_expand);
f19d5870cbf72d Tao Ma        2012-12-10  761  		brelse(iloc.bh);
b6bfc15d82616d Zhang Yi      2021-07-06  762  	}
b6bfc15d82616d Zhang Yi      2021-07-06  763  
b6bfc15d82616d Zhang Yi      2021-07-06  764  	/*
b6bfc15d82616d Zhang Yi      2021-07-06  765  	 * It's important to update i_size while still holding page lock:
b6bfc15d82616d Zhang Yi      2021-07-06  766  	 * page writeout could otherwise come in and zero beyond i_size.
b6bfc15d82616d Zhang Yi      2021-07-06  767  	 */
b6bfc15d82616d Zhang Yi      2021-07-06  768  	i_size_changed = ext4_update_inode_size(inode, pos + copied);
b6bfc15d82616d Zhang Yi      2021-07-06  769  	if (ext4_should_journal_data(inode)) {
b6bfc15d82616d Zhang Yi      2021-07-06  770  		ext4_set_inode_state(inode, EXT4_STATE_JDATA);
b6bfc15d82616d Zhang Yi      2021-07-06  771  		EXT4_I(inode)->i_datasync_tid = handle->h_transaction->t_tid;
b6bfc15d82616d Zhang Yi      2021-07-06  772  	}
b6bfc15d82616d Zhang Yi      2021-07-06  773  	unlock_page(page);
b6bfc15d82616d Zhang Yi      2021-07-06  774  	put_page(page);
b6bfc15d82616d Zhang Yi      2021-07-06  775  
b6bfc15d82616d Zhang Yi      2021-07-06  776  	/*
b6bfc15d82616d Zhang Yi      2021-07-06  777  	 * Don't mark the inode dirty under page lock. First, it unnecessarily
b6bfc15d82616d Zhang Yi      2021-07-06  778  	 * makes the holding time of page lock longer. Second, it forces lock
b6bfc15d82616d Zhang Yi      2021-07-06  779  	 * ordering of page lock and transaction start for journaling
b6bfc15d82616d Zhang Yi      2021-07-06  780  	 * filesystems.
b6bfc15d82616d Zhang Yi      2021-07-06  781  	 */
b6bfc15d82616d Zhang Yi      2021-07-06  782  	if (likely(copied) || i_size_changed)
362eca70b53389 Theodore Ts'o 2018-07-10  783  		mark_inode_dirty(inode);
b6bfc15d82616d Zhang Yi      2021-07-06  784  out:
b6bfc15d82616d Zhang Yi      2021-07-06  785  	/*
b6bfc15d82616d Zhang Yi      2021-07-06  786  	 * If we have allocated more blocks and copied less. We will have
b6bfc15d82616d Zhang Yi      2021-07-06  787  	 * blocks allocated outside inode->i_size, so truncate them.
b6bfc15d82616d Zhang Yi      2021-07-06  788  	 */
b6bfc15d82616d Zhang Yi      2021-07-06  789  	if (pos + len > inode->i_size && ext4_can_truncate(inode))
b6bfc15d82616d Zhang Yi      2021-07-06  790  		ext4_orphan_add(handle, inode);
4dfba1ee616130 Zhang Yi      2021-07-06  791  
b6bfc15d82616d Zhang Yi      2021-07-06  792  	ret2 = ext4_journal_stop(handle);
b6bfc15d82616d Zhang Yi      2021-07-06 @793  	if (!ret)
b6bfc15d82616d Zhang Yi      2021-07-06  794  		ret = ret2;
b6bfc15d82616d Zhang Yi      2021-07-06  795  	if (pos + len > inode->i_size) {
b6bfc15d82616d Zhang Yi      2021-07-06  796  		ext4_truncate_failed_write(inode);
b6bfc15d82616d Zhang Yi      2021-07-06  797  		/*
b6bfc15d82616d Zhang Yi      2021-07-06  798  		 * If truncate failed early the inode might still be
b6bfc15d82616d Zhang Yi      2021-07-06  799  		 * on the orphan list; we need to make sure the inode
b6bfc15d82616d Zhang Yi      2021-07-06  800  		 * is removed from the orphan list in that case.
b6bfc15d82616d Zhang Yi      2021-07-06  801  		 */
b6bfc15d82616d Zhang Yi      2021-07-06  802  		if (inode->i_nlink)
b6bfc15d82616d Zhang Yi      2021-07-06  803  			ext4_orphan_del(NULL, inode);
b6bfc15d82616d Zhang Yi      2021-07-06  804  	}
b6bfc15d82616d Zhang Yi      2021-07-06  805  	return ret ? ret : copied;
f19d5870cbf72d Tao Ma        2012-12-10  806  }
f19d5870cbf72d Tao Ma        2012-12-10  807  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 45658 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread
* Re: [RFC PATCH 3/4] ext4: factor out write end code of inline file
@ 2021-07-06  5:13 kernel test robot
  0 siblings, 0 replies; 18+ messages in thread
From: kernel test robot @ 2021-07-06  5:13 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 8013 bytes --]

CC: kbuild-all(a)lists.01.org
In-Reply-To: <20210706024210.746788-4-yi.zhang@huawei.com>
References: <20210706024210.746788-4-yi.zhang@huawei.com>
TO: Zhang Yi <yi.zhang@huawei.com>

Hi Zhang,

[FYI, it's a private test report for your RFC patch.]
[auto build test WARNING on ext4/dev]
[also build test WARNING on v5.13 next-20210701]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Zhang-Yi/ext4-improve-delalloc-buffer-write-performance/20210706-103431
base:   https://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git dev
:::::: branch date: 3 hours ago
:::::: commit date: 3 hours ago
compiler: s390-linux-gcc (GCC) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


cppcheck possible warnings: (new ones prefixed by >>, may not real problems)

                         ^
>> fs/ext4/inline.c:793:7: warning: Uninitialized variable: ret [uninitvar]
    if (!ret)
         ^
   fs/ext4/inline.c:747:4: warning: Identical inner 'if' condition is always true. [identicalInnerCondition]
      ext4_std_error(inode->i_sb, ret);
      ^
   fs/ext4/inline.c:744:7: note: outer condition: ret
     if (ret) {
         ^
   fs/ext4/inline.c:747:4: note: identical inner condition: ret
      ext4_std_error(inode->i_sb, ret);
      ^
   fs/ext4/inline.c:819:3: warning: Identical inner 'if' condition is always true. [identicalInnerCondition]
     ext4_std_error(inode->i_sb, ret);
     ^
   fs/ext4/inline.c:818:6: note: outer condition: ret
    if (ret) {
        ^
   fs/ext4/inline.c:819:3: note: identical inner condition: ret
     ext4_std_error(inode->i_sb, ret);
     ^

vim +793 fs/ext4/inline.c

f19d5870cbf72d Tao Ma        2012-12-10  728  
f19d5870cbf72d Tao Ma        2012-12-10  729  int ext4_write_inline_data_end(struct inode *inode, loff_t pos, unsigned len,
f19d5870cbf72d Tao Ma        2012-12-10  730  			       unsigned copied, struct page *page)
f19d5870cbf72d Tao Ma        2012-12-10  731  {
b6bfc15d82616d Zhang Yi      2021-07-06  732  	handle_t *handle = ext4_journal_current_handle();
b6bfc15d82616d Zhang Yi      2021-07-06  733  	int i_size_changed = 0;
b6bfc15d82616d Zhang Yi      2021-07-06  734  	int no_expand;
f19d5870cbf72d Tao Ma        2012-12-10  735  	void *kaddr;
f19d5870cbf72d Tao Ma        2012-12-10  736  	struct ext4_iloc iloc;
b6bfc15d82616d Zhang Yi      2021-07-06  737  	int ret, ret2;
f19d5870cbf72d Tao Ma        2012-12-10  738  
4dfba1ee616130 Zhang Yi      2021-07-06  739  	if (unlikely(copied < len) && !PageUptodate(page))
b6bfc15d82616d Zhang Yi      2021-07-06  740  		copied = 0;
f19d5870cbf72d Tao Ma        2012-12-10  741  
b6bfc15d82616d Zhang Yi      2021-07-06  742  	if (likely(copied)) {
f19d5870cbf72d Tao Ma        2012-12-10  743  		ret = ext4_get_inode_loc(inode, &iloc);
f19d5870cbf72d Tao Ma        2012-12-10  744  		if (ret) {
b6bfc15d82616d Zhang Yi      2021-07-06  745  			unlock_page(page);
b6bfc15d82616d Zhang Yi      2021-07-06  746  			put_page(page);
f19d5870cbf72d Tao Ma        2012-12-10  747  			ext4_std_error(inode->i_sb, ret);
b6bfc15d82616d Zhang Yi      2021-07-06  748  			goto out;
f19d5870cbf72d Tao Ma        2012-12-10  749  		}
c755e251357a0c Theodore Ts'o 2017-01-11  750  		ext4_write_lock_xattr(inode, &no_expand);
f19d5870cbf72d Tao Ma        2012-12-10  751  		BUG_ON(!ext4_has_inline_data(inode));
f19d5870cbf72d Tao Ma        2012-12-10  752  
f19d5870cbf72d Tao Ma        2012-12-10  753  		kaddr = kmap_atomic(page);
4dfba1ee616130 Zhang Yi      2021-07-06  754  		ext4_write_inline_data(inode, &iloc, kaddr, pos, copied);
f19d5870cbf72d Tao Ma        2012-12-10  755  		kunmap_atomic(kaddr);
f19d5870cbf72d Tao Ma        2012-12-10  756  		SetPageUptodate(page);
f19d5870cbf72d Tao Ma        2012-12-10  757  		/* clear page dirty so that writepages wouldn't work for us. */
f19d5870cbf72d Tao Ma        2012-12-10  758  		ClearPageDirty(page);
f19d5870cbf72d Tao Ma        2012-12-10  759  
c755e251357a0c Theodore Ts'o 2017-01-11  760  		ext4_write_unlock_xattr(inode, &no_expand);
f19d5870cbf72d Tao Ma        2012-12-10  761  		brelse(iloc.bh);
b6bfc15d82616d Zhang Yi      2021-07-06  762  	}
b6bfc15d82616d Zhang Yi      2021-07-06  763  
b6bfc15d82616d Zhang Yi      2021-07-06  764  	/*
b6bfc15d82616d Zhang Yi      2021-07-06  765  	 * It's important to update i_size while still holding page lock:
b6bfc15d82616d Zhang Yi      2021-07-06  766  	 * page writeout could otherwise come in and zero beyond i_size.
b6bfc15d82616d Zhang Yi      2021-07-06  767  	 */
b6bfc15d82616d Zhang Yi      2021-07-06  768  	i_size_changed = ext4_update_inode_size(inode, pos + copied);
b6bfc15d82616d Zhang Yi      2021-07-06  769  	if (ext4_should_journal_data(inode)) {
b6bfc15d82616d Zhang Yi      2021-07-06  770  		ext4_set_inode_state(inode, EXT4_STATE_JDATA);
b6bfc15d82616d Zhang Yi      2021-07-06  771  		EXT4_I(inode)->i_datasync_tid = handle->h_transaction->t_tid;
b6bfc15d82616d Zhang Yi      2021-07-06  772  	}
b6bfc15d82616d Zhang Yi      2021-07-06  773  	unlock_page(page);
b6bfc15d82616d Zhang Yi      2021-07-06  774  	put_page(page);
b6bfc15d82616d Zhang Yi      2021-07-06  775  
b6bfc15d82616d Zhang Yi      2021-07-06  776  	/*
b6bfc15d82616d Zhang Yi      2021-07-06  777  	 * Don't mark the inode dirty under page lock. First, it unnecessarily
b6bfc15d82616d Zhang Yi      2021-07-06  778  	 * makes the holding time of page lock longer. Second, it forces lock
b6bfc15d82616d Zhang Yi      2021-07-06  779  	 * ordering of page lock and transaction start for journaling
b6bfc15d82616d Zhang Yi      2021-07-06  780  	 * filesystems.
b6bfc15d82616d Zhang Yi      2021-07-06  781  	 */
b6bfc15d82616d Zhang Yi      2021-07-06  782  	if (likely(copied) || i_size_changed)
362eca70b53389 Theodore Ts'o 2018-07-10  783  		mark_inode_dirty(inode);
b6bfc15d82616d Zhang Yi      2021-07-06  784  out:
b6bfc15d82616d Zhang Yi      2021-07-06  785  	/*
b6bfc15d82616d Zhang Yi      2021-07-06  786  	 * If we have allocated more blocks and copied less. We will have
b6bfc15d82616d Zhang Yi      2021-07-06  787  	 * blocks allocated outside inode->i_size, so truncate them.
b6bfc15d82616d Zhang Yi      2021-07-06  788  	 */
b6bfc15d82616d Zhang Yi      2021-07-06  789  	if (pos + len > inode->i_size && ext4_can_truncate(inode))
b6bfc15d82616d Zhang Yi      2021-07-06  790  		ext4_orphan_add(handle, inode);
4dfba1ee616130 Zhang Yi      2021-07-06  791  
b6bfc15d82616d Zhang Yi      2021-07-06  792  	ret2 = ext4_journal_stop(handle);
b6bfc15d82616d Zhang Yi      2021-07-06 @793  	if (!ret)
b6bfc15d82616d Zhang Yi      2021-07-06  794  		ret = ret2;
b6bfc15d82616d Zhang Yi      2021-07-06  795  	if (pos + len > inode->i_size) {
b6bfc15d82616d Zhang Yi      2021-07-06  796  		ext4_truncate_failed_write(inode);
b6bfc15d82616d Zhang Yi      2021-07-06  797  		/*
b6bfc15d82616d Zhang Yi      2021-07-06  798  		 * If truncate failed early the inode might still be
b6bfc15d82616d Zhang Yi      2021-07-06  799  		 * on the orphan list; we need to make sure the inode
b6bfc15d82616d Zhang Yi      2021-07-06  800  		 * is removed from the orphan list in that case.
b6bfc15d82616d Zhang Yi      2021-07-06  801  		 */
b6bfc15d82616d Zhang Yi      2021-07-06  802  		if (inode->i_nlink)
b6bfc15d82616d Zhang Yi      2021-07-06  803  			ext4_orphan_del(NULL, inode);
b6bfc15d82616d Zhang Yi      2021-07-06  804  	}
b6bfc15d82616d Zhang Yi      2021-07-06  805  	return ret ? ret : copied;
f19d5870cbf72d Tao Ma        2012-12-10  806  }
f19d5870cbf72d Tao Ma        2012-12-10  807  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

^ permalink raw reply	[flat|nested] 18+ messages in thread
* [RFC PATCH 0/4] ext4: improve delalloc buffer write performance
@ 2021-07-06  2:42 Zhang Yi
  2021-07-06  2:42 ` [RFC PATCH 1/4] ext4: check and update i_disksize properly Zhang Yi
                   ` (3 more replies)
  0 siblings, 4 replies; 18+ messages in thread
From: Zhang Yi @ 2021-07-06  2:42 UTC (permalink / raw)
  To: linux-ext4; +Cc: tytso, adilger.kernel, jack, yi.zhang, yukuai3

Hi,

This patchset address to improve buffer write performance with delalloc.
The first patch reduce the unnecessary update i_disksize, the second two
patch refactor the inline data write procedure and also do some small
fix, the last patch do improve by remove all unnecessary journal handle
in the delalloc write procedure.

After this patch set, we could get a lot of performance improvement.
Below is the Unixbench comparison data test on my machine with 'Intel
Xeon Gold 5120' CPU and nvme SSD backend.

Test cmd:

  ./Run -c 56 -i 3 fstime fsbuffer fsdisk

Before this patch:

  System Benchmarks Partial Index           BASELINE       RESULT   INDEX
  File Copy 1024 bufsize 2000 maxblocks       3960.0     422965.0   1068.1
  File Copy 256 bufsize 500 maxblocks         1655.0     105077.0   634.9
  File Copy 4096 bufsize 8000 maxblocks       5800.0    1429092.0   2464.0
                                                                    ========
  System Benchmarks Index Score (Partial Only)                      1186.6

After this patch:

  System Benchmarks Partial Index           BASELINE       RESULT   INDEX
  File Copy 1024 bufsize 2000 maxblocks       3960.0     732716.0   1850.3
  File Copy 256 bufsize 500 maxblocks         1655.0     184940.0   1117.5
  File Copy 4096 bufsize 8000 maxblocks       5800.0    2427152.0   4184.7
                                                                    ========
  System Benchmarks Index Score (Partial Only)                      2053.0



Already test by fstests under below configuration, no add failure.

     delalloc  blocksize   journal  inline
1.    Y         4K          N        N
2.    Y         4K          N        Y
3.    N         4K          N        N
4.    N         4K          N        Y
5.    Y         4K          Y        N
6.    Y         4K          Y        Y
7.    Y         1K          N        N
8.    N         1K          N        N
9.    Y         1K          Y        N

Thanks,
Yi.



Zhang Yi (4):
  ext4: check and update i_disksize properly
  ext4: correct the error path of ext4_write_inline_data_end()
  ext4: factor out write end code of inline file
  ext4: drop unnecessary journal handle in delalloc write

 fs/ext4/ext4.h   |   3 --
 fs/ext4/inline.c | 124 +++++++++++++++++++++---------------------
 fs/ext4/inode.c  | 137 ++++++++++-------------------------------------
 3 files changed, 93 insertions(+), 171 deletions(-)

-- 
2.31.1


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2021-07-10  8:13 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-07-06  7:05 [RFC PATCH 3/4] ext4: factor out write end code of inline file kernel test robot
2021-07-06  9:00 ` [kbuild] " Dan Carpenter
  -- strict thread matches above, loose matches on Subject: below --
2021-07-06  5:13 kernel test robot
2021-07-06  2:42 [RFC PATCH 0/4] ext4: improve delalloc buffer write performance Zhang Yi
2021-07-06  2:42 ` [RFC PATCH 1/4] ext4: check and update i_disksize properly Zhang Yi
2021-07-06 12:11   ` Jan Kara
2021-07-06 14:40     ` Zhang Yi
2021-07-06 15:26       ` Jan Kara
2021-07-07  6:18         ` Zhang Yi
2021-07-06  2:42 ` [RFC PATCH 2/4] ext4: correct the error path of ext4_write_inline_data_end() Zhang Yi
2021-07-06 12:28   ` Jan Kara
2021-07-06  2:42 ` [RFC PATCH 3/4] ext4: factor out write end code of inline file Zhang Yi
2021-07-06  5:45   ` kernel test robot
2021-07-06  5:48   ` kernel test robot
2021-07-07 16:49   ` Jan Kara
2021-07-10  8:13     ` Zhang Yi
2021-07-06  2:42 ` [RFC PATCH 4/4] ext4: drop unnecessary journal handle in delalloc write Zhang Yi
2021-07-07 16:59   ` Jan Kara

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.