lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 8 Dec 2022 17:33:08 +0100
From:   Jan Kara <jack@...e.cz>
To:     "Ritesh Harjani (IBM)" <ritesh.list@...il.com>
Cc:     Jan Kara <jack@...e.cz>, Ted Tso <tytso@....edu>,
        linux-ext4@...r.kernel.org, Christoph Hellwig <hch@...radead.org>,
        Christoph Hellwig <hch@....de>
Subject: Re: [PATCH v4 10/13] ext4: Switch to using write_cache_pages() for
 data=journal writeout

On Thu 08-12-22 21:10:46, Ritesh Harjani (IBM) wrote:
> On 22/12/07 12:27PM, Jan Kara wrote:
> > Instead of using generic_writepages(), let's use write_cache_pages() for
> > writeout of journalled data. It will allow us to stop providing
> > .writepage callback.
> 
> Ok. Just one quick query. I didn't look too deep for this and thought will
> directly check it here.
> What about marking an error via mapping_set_error() which earlier the
> __writepage() call was handling in case of any error during writeback?

So yes, I have noticed we loose that call and decided we'll stay compatible
(arguably bug-to-bug) with what we do for data=ordered mode. If error
happens in ext4_writepage() (i.e., during adding buffers to transaction) we
will propagate it back up to the ->writepages() caller. I agree we should
probably tweak ext4_writepages() to also do mapping_set_error() just in
case this is writeback from flush worker so that application can learn
about the problem.

I'll add this to the larger cleanup of our writepages path. Thanks for the
comment.

								Honza

-- 
Jan Kara <jack@...e.com>
SUSE Labs, CR

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ