Re: linux-next: manual merge of the vfs-brauner tree with the ext3 tree

From: Stephen Rothwell
Date: Mon Oct 30 2023 - 20:26:33 EST


Hi all,

On Fri, 27 Oct 2023 10:43:56 +1100 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>
> Today's linux-next merge of the vfs-brauner tree got a conflict in:
>
> fs/ext2/dir.c
>
> between commits:
>
> 1de0736c3af9 ("ext2: Convert ext2_add_link() to use a folio")
> 7e56bbf15d95 ("ext2: Convert ext2_delete_entry() to use folios")
> 82dd620653b3 ("ext2: Convert ext2_prepare_chunk and ext2_commit_chunk to folios")
>
> from the ext3 tree and commit:
>
> 5cdc59fce617 ("ext2: convert to new timestamp accessors")
>
> from the vfs-brauner tree.
>
> I fixed it up (see below) and can carry the fix as necessary. This
> is now fixed as far as linux-next is concerned, but any non trivial
> conflicts should be mentioned to your upstream maintainer when your tree
> is submitted for merging. You may also want to consider cooperating
> with the maintainer of the conflicting tree to minimise any particularly
> complex conflicts.
>
> diff --cc fs/ext2/dir.c
> index 6807df637112,c7900868171b..000000000000
> --- a/fs/ext2/dir.c
> +++ b/fs/ext2/dir.c
> @@@ -463,9 -466,9 +463,9 @@@ int ext2_set_link(struct inode *dir, st
> }
> de->inode = cpu_to_le32(inode->i_ino);
> ext2_set_de_type(de, inode);
> - ext2_commit_chunk(page, pos, len);
> + ext2_commit_chunk(folio, pos, len);
> if (update_times)
> - dir->i_mtime = inode_set_ctime_current(dir);
> + inode_set_mtime_to_ts(dir, inode_set_ctime_current(dir));
> EXT2_I(dir)->i_flags &= ~EXT2_BTREE_FL;
> mark_inode_dirty(dir);
> return ext2_handle_dirsync(dir);
> @@@ -551,8 -554,8 +551,8 @@@ got_it
> memcpy(de->name, name, namelen);
> de->inode = cpu_to_le32(inode->i_ino);
> ext2_set_de_type (de, inode);
> - ext2_commit_chunk(page, pos, rec_len);
> + ext2_commit_chunk(folio, pos, rec_len);
> - dir->i_mtime = inode_set_ctime_current(dir);
> + inode_set_mtime_to_ts(dir, inode_set_ctime_current(dir));
> EXT2_I(dir)->i_flags &= ~EXT2_BTREE_FL;
> mark_inode_dirty(dir);
> err = ext2_handle_dirsync(dir);
> @@@ -605,8 -605,8 +605,8 @@@ int ext2_delete_entry(struct ext2_dir_e
> if (pde)
> pde->rec_len = ext2_rec_len_to_disk(to - from);
> dir->inode = 0;
> - ext2_commit_chunk(page, pos, to - from);
> + ext2_commit_chunk(folio, pos, to - from);
> - inode->i_mtime = inode_set_ctime_current(inode);
> + inode_set_mtime_to_ts(inode, inode_set_ctime_current(inode));
> EXT2_I(inode)->i_flags &= ~EXT2_BTREE_FL;
> mark_inode_dirty(inode);
> return ext2_handle_dirsync(inode);

This is now a conflict between the ext3 tree and Linus' tree.

--
Cheers,
Stephen Rothwell

Attachment: pgp3j8EdFCfTk.pgp
Description: OpenPGP digital signature