Re: [f2fs-dev] Compressed files & the page cache

2025-07-21 Thread Qu Wenruo via Linux-f2fs-devel
在 2025/7/21 19:55, Jan Kara 写道: On Mon 21-07-25 11:14:02, Gao Xiang wrote: Hi Barry, On 2025/7/21 09:02, Barry Song wrote: On Wed, Jul 16, 2025 at 8:28 AM Gao Xiang wrote: [...] Given the difficulty of allocating large folios, it's always a good idea to have order-0 as a fallback. While I

Re: [f2fs-dev] Compressed files & the page cache

2025-07-15 Thread Qu Wenruo via Linux-f2fs-devel
在 2025/7/16 10:46, Gao Xiang 写道: ... There's some discrepancy between filesystems whether you need scratch space for decompression.  Some filesystems read the compressed data into the pagecache and decompress in-place, while other filesystems read the compressed data into scratch pages and

Re: [f2fs-dev] Compressed files & the page cache

2025-07-15 Thread Qu Wenruo via Linux-f2fs-devel
在 2025/7/16 06:10, Matthew Wilcox 写道: I've started looking at how the page cache can help filesystems handle compressed data better. Feedback would be appreciated! I'll probably say a few things which are obvious to anyone who knows how compressed files work, but I'm trying to be explicit abo

Re: [f2fs-dev] [PATCH v4 1/6] fs: enhance and rename shutdown() callback to remove_bdev()

2025-07-10 Thread Qu Wenruo via Linux-f2fs-devel
在 2025/7/10 18:10, Christian Brauner 写道: On Tue, Jul 08, 2025 at 01:20:50PM -0700, Darrick J. Wong wrote: On Tue, Jul 08, 2025 at 12:20:00PM +0200, Jan Kara wrote: On Mon 07-07-25 17:45:32, Darrick J. Wong wrote: On Tue, Jul 08, 2025 at 08:52:47AM +0930, Qu Wenruo wrote: 在 2025/7/8 08:32, D

Re: [f2fs-dev] [PATCH v4 1/6] fs: enhance and rename shutdown() callback to remove_bdev()

2025-07-08 Thread Qu Wenruo via Linux-f2fs-devel
在 2025/7/9 10:05, Kent Overstreet 写道: On Wed, Jul 09, 2025 at 08:37:05AM +0930, Qu Wenruo wrote: 在 2025/7/9 08:29, Dave Chinner 写道: On Tue, Jul 08, 2025 at 09:55:14AM +0200, Christian Brauner wrote: On Mon, Jul 07, 2025 at 05:45:32PM -0700, Darrick J. Wong wrote: On Tue, Jul 08, 2025 at 08:

Re: [f2fs-dev] [PATCH v4 1/6] fs: enhance and rename shutdown() callback to remove_bdev()

2025-07-08 Thread Qu Wenruo via Linux-f2fs-devel
在 2025/7/9 08:29, Dave Chinner 写道: On Tue, Jul 08, 2025 at 09:55:14AM +0200, Christian Brauner wrote: On Mon, Jul 07, 2025 at 05:45:32PM -0700, Darrick J. Wong wrote: On Tue, Jul 08, 2025 at 08:52:47AM +0930, Qu Wenruo wrote: 在 2025/7/8 08:32, Dave Chinner 写道: On Fri, Jul 04, 2025 at 10:1

Re: [f2fs-dev] [PATCH v4 1/6] fs: enhance and rename shutdown() callback to remove_bdev()

2025-07-08 Thread Qu Wenruo via Linux-f2fs-devel
在 2025/7/9 05:50, Darrick J. Wong 写道: [...] Well, I'd also say just go for own fs_holder_ops if it was not for the awkward "get super from bdev" step. As Christian wrote we've encapsulated that in fs/super.c and bdev_super_lock() in particular but the calling conventions for the fs_holder_ops a

Re: [f2fs-dev] [PATCH v4 1/6] fs: enhance and rename shutdown() callback to remove_bdev()

2025-07-07 Thread Qu Wenruo via Linux-f2fs-devel
在 2025/7/8 14:35, Dave Chinner 写道: [...] Not really worthy if we only want a single different behavior. This is the *3rd* different behaviour for ->mark_dead. We have the generic behaviour, the bcachefs behaviour, and now the btrfs behaviour (whatever that may be). Then why not merging the

Re: [f2fs-dev] [PATCH v4 1/6] fs: enhance and rename shutdown() callback to remove_bdev()

2025-07-07 Thread Qu Wenruo via Linux-f2fs-devel
在 2025/7/8 11:39, Qu Wenruo 写道: 在 2025/7/8 10:15, Darrick J. Wong 写道: [...] I do not think it's the correct way to go, especially when there is already fs_holder_ops. We're always going towards a more generic solution, other than letting the individual fs to do the same thing slightly

Re: [f2fs-dev] [PATCH v4 1/6] fs: enhance and rename shutdown() callback to remove_bdev()

2025-07-07 Thread Qu Wenruo via Linux-f2fs-devel
在 2025/7/8 10:15, Darrick J. Wong 写道: [...] I do not think it's the correct way to go, especially when there is already fs_holder_ops. We're always going towards a more generic solution, other than letting the individual fs to do the same thing slightly differently. On second thought -- it'

Re: [f2fs-dev] [PATCH v4 1/6] fs: enhance and rename shutdown() callback to remove_bdev()

2025-07-07 Thread Qu Wenruo via Linux-f2fs-devel
在 2025/7/8 08:32, Dave Chinner 写道: On Fri, Jul 04, 2025 at 10:12:29AM +0930, Qu Wenruo wrote: Currently all the filesystems implementing the super_opearations::shutdown() callback can not afford losing a device. Thus fs_bdev_mark_dead() will just call the shutdown() callback for the involved

[f2fs-dev] [PATCH v4 1/6] fs: enhance and rename shutdown() callback to remove_bdev()

2025-07-03 Thread Qu Wenruo via Linux-f2fs-devel
Currently all the filesystems implementing the super_opearations::shutdown() callback can not afford losing a device. Thus fs_bdev_mark_dead() will just call the shutdown() callback for the involved filesystem. But it will no longer be the case, with multi-device filesystems like btrfs and bcache

[f2fs-dev] [PATCH v3 1/6] fs: enhance and rename shutdown() callback to remove_bdev()

2025-07-03 Thread Qu Wenruo via Linux-f2fs-devel
Currently all the filesystems implementing the super_opearations::shutdown() call back can not afford losing a device. Thus fs_bdev_mark_dead() will just call the shutdown() callback for the involved filesystem. But it will no longer be the case, with multi-device filesystems like btrfs and bcach

Re: [f2fs-dev] [PATCH v2 1/6] fs: enhance and rename shutdown() callback to remove_bdev()

2025-07-01 Thread Qu Wenruo via Linux-f2fs-devel
在 2025/7/1 18:11, Christian Brauner 写道: On Tue, Jul 01, 2025 at 04:05:03PM +0930, Qu Wenruo wrote: 在 2025/7/1 15:44, Christoph Hellwig 写道: On Tue, Jul 01, 2025 at 03:02:34PM +0930, Qu Wenruo wrote: To allow those multi-device filesystems to be integrated to use fs_holder_ops: - Rename shu

Re: [f2fs-dev] [PATCH v2 1/6] fs: enhance and rename shutdown() callback to remove_bdev()

2025-06-30 Thread Qu Wenruo via Linux-f2fs-devel
在 2025/7/1 15:44, Christoph Hellwig 写道: On Tue, Jul 01, 2025 at 03:02:34PM +0930, Qu Wenruo wrote: To allow those multi-device filesystems to be integrated to use fs_holder_ops: - Rename shutdown() call back to remove_bdev() To better describe when the call back is called. What is rename

[f2fs-dev] [PATCH v2 1/6] fs: enhance and rename shutdown() callback to remove_bdev()

2025-06-30 Thread Qu Wenruo via Linux-f2fs-devel
Currently all the filesystems implementing the super_opearations::shutdown() call back can not afford losing a device. Thus fs_bdev_mark_dead() will just call the shutdown() callback for the involved filesystem. But it will no longer be the case, with multi-device filesystems like btrfs and bcach

Re: [f2fs-dev] Calling folio_end_writeback() inside a spinlock under task context?

2025-03-02 Thread Qu Wenruo via Linux-f2fs-devel
在 2025/3/3 15:22, Matthew Wilcox 写道: Adding Jens to the cc. As you well know, he added this code, so I'm mystified why you didn't cc him. Also adding linux-fsdevel (I presume this was a mistake and you inadvertently cc'd f2fs-devel instead.) On Mon, Mar 03, 2025 at 10:34:26AM +1030, Qu Wenru

[f2fs-dev] Calling folio_end_writeback() inside a spinlock under task context?

2025-03-02 Thread Qu Wenruo via Linux-f2fs-devel
Hi, [SPINLOCK AND END WRITEBACK] Although folio_end_writeback() can be called in an interruption context (by the in_task() check), surprisingly it may not be suitable to be called inside a spinlock (in task context): For example the following call chain can lead to sleep: spin_lock() folio_end

Re: [f2fs-dev] [PATCH 02/14] btrfs: convert get_next_extent_buffer() to take a folio

2024-08-23 Thread Qu Wenruo via Linux-f2fs-devel
在 2024/8/24 01:08, Matthew Wilcox 写道: On Fri, Aug 23, 2024 at 11:43:41AM +0930, Qu Wenruo wrote: 在 2024/8/23 07:55, Qu Wenruo 写道: 在 2024/8/22 21:37, Matthew Wilcox 写道: On Thu, Aug 22, 2024 at 08:28:09PM +0930, Qu Wenruo wrote: But what will happen if some writes happened to that larger foli

Re: [f2fs-dev] [PATCH 02/14] btrfs: convert get_next_extent_buffer() to take a folio

2024-08-22 Thread Qu Wenruo via Linux-f2fs-devel
在 2024/8/23 07:55, Qu Wenruo 写道: 在 2024/8/22 21:37, Matthew Wilcox 写道: On Thu, Aug 22, 2024 at 08:28:09PM +0930, Qu Wenruo wrote: 在 2024/8/22 12:35, Matthew Wilcox 写道: -    while (cur < page_start + PAGE_SIZE) { +    while (cur < folio_start + PAGE_SIZE) { Presumably we want to support l

Re: [f2fs-dev] [PATCH 02/14] btrfs: convert get_next_extent_buffer() to take a folio

2024-08-22 Thread Qu Wenruo via Linux-f2fs-devel
在 2024/8/22 21:37, Matthew Wilcox 写道: On Thu, Aug 22, 2024 at 08:28:09PM +0930, Qu Wenruo wrote: 在 2024/8/22 12:35, Matthew Wilcox 写道: - while (cur < page_start + PAGE_SIZE) { + while (cur < folio_start + PAGE_SIZE) { Presumably we want to support large folios in btrfs at some p

Re: [f2fs-dev] [PATCH 02/14] btrfs: convert get_next_extent_buffer() to take a folio

2024-08-22 Thread Qu Wenruo via Linux-f2fs-devel
在 2024/8/22 12:35, Matthew Wilcox 写道: On Thu, Aug 22, 2024 at 09:37:02AM +0800, Li Zetao wrote: static struct extent_buffer *get_next_extent_buffer( - const struct btrfs_fs_info *fs_info, struct page *page, u64 bytenr) + const struct btrfs_fs_info *fs_info, struc

Re: [f2fs-dev] [PATCH 02/14] btrfs: convert get_next_extent_buffer() to take a folio

2024-08-22 Thread Qu Wenruo via Linux-f2fs-devel
在 2024/8/22 12:35, Matthew Wilcox 写道: On Thu, Aug 22, 2024 at 09:37:02AM +0800, Li Zetao wrote: static struct extent_buffer *get_next_extent_buffer( - const struct btrfs_fs_info *fs_info, struct page *page, u64 bytenr) + const struct btrfs_fs_info *fs_info, struc

Re: [f2fs-dev] [PATCH RFC 3/7] fs/btrfs: support `DISABLE_FS_CSUM_VERIFICATION` config option

2022-10-14 Thread Qu Wenruo via Linux-f2fs-devel
On 2022/10/14 16:48, Hrutvik Kanabar wrote: From: Hrutvik Kanabar When `DISABLE_FS_CSUM_VERIFICATION` is enabled, bypass checksum verification. Signed-off-by: Hrutvik Kanabar I always want more fuzz for btrfs, so overall this is pretty good. But there are some comments related to free s