Messages in this thread | | | Date | Mon, 22 Aug 2022 14:01:13 +0200 | From | David Sterba <> | 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@synology.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.
| |