[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20220822120112.GT13489@twin.jikos.cz>
Date: Mon, 22 Aug 2022 14:01:13 +0200
From: David Sterba <dsterba@...e.cz>
To: bingjingc <bingjingc@...ology.com>
Cc: fdmanana@...nel.org, josef@...icpanda.com, dsterba@...e.com,
clm@...com, linux-btrfs@...r.kernel.org,
linux-kernel@...r.kernel.org, robbieko@...ology.com,
bxxxjxxg@...il.com
Subject: Re: [PATCH v3 0/2] btrfs: send: fix failures when processing inodes
with no links
On Fri, Aug 12, 2022 at 10:42:31PM +0800, bingjingc wrote:
> From: BingJing Chang <bingjingc@...ology.com>
>
> There is a bug causing send failures when processing an orphan directory
> with no links. In commit 46b2f4590aab ("Btrfs: fix send failure when root
> has deleted files still open")', the orphan inode issue was addressed. The
> send operation fails with a ENOENT error because of any attempts to
> generate a path for the inode with a link count of zero. Therefore, in that
> patch, sctx->ignore_cur_inode was introduced to be set if the current inode
> has a link count of zero for bypassing some unnecessary steps. And a helper
> function btrfs_unlink_all_paths() was introduced and called to clean up old
> paths found in the parent snapshot. However, not only regular files but
> also directories can be orphan inodes. So if the send operation meets an
> orphan directory, it will issue a wrong unlink command for that directory
> now. Soon the receive operation fails with a EISDIR error. Besides, the
> send operation also fails with a ENOENT error later when it tries to
> generate a path of it.
>
>
> BingJing Chang (2):
> btrfs: send: refactor get_inode_info()
> btrfs: send: fix failures when processing inodes with no links
Added to misc-next, thanks.
Powered by blists - more mailing lists