Hi Al, Today's linux-next merge of the vfs tree got a conflict in fs/ext4/ioctl.c between commits 2a415f129806 ("ext4: add missing ext4_resize_end on error paths") and 22cdfca56418 ("ext4: remove unneeded file_remove_suid() from ext4_ioctl()") from the ext4 tree and commit a561be7100cd ("switch a bunch of places to mnt_want_write_file()") from the vfs tree. I fixed it up (see below) and can carry the fix as necessary. -- Cheers, Stephen Rothwell sfr@xxxxxxxxxxxxxxxx diff --cc fs/ext4/ioctl.c index f2c335b,d37b3bb..0000000 --- a/fs/ext4/ioctl.c +++ b/fs/ext4/ioctl.c @@@ -173,11 -170,8 +173,11 @@@ flags_out err = ext4_mark_iloc_dirty(handle, inode, &iloc); } ext4_journal_stop(handle); + +unlock_out: + mutex_unlock(&inode->i_mutex); setversion_out: - mnt_drop_write(filp->f_path.mnt); + mnt_drop_write_file(filp); return err; } case EXT4_IOC_GROUP_EXTEND: { @@@ -197,13 -189,12 +197,13 @@@ EXT4_FEATURE_RO_COMPAT_BIGALLOC)) { ext4_msg(sb, KERN_ERR, "Online resizing not supported with bigalloc"); - return -EOPNOTSUPP; + err = -EOPNOTSUPP; + goto group_extend_out; } - err = mnt_want_write(filp->f_path.mnt); + err = mnt_want_write_file(filp); if (err) - return err; + goto group_extend_out; err = ext4_group_extend(sb, EXT4_SB(sb)->s_es, n_blocks_count); if (EXT4_SB(sb)->s_journal) { @@@ -213,10 -204,9 +213,10 @@@ } if (err == 0) err = err2; + - mnt_drop_write(filp->f_path.mnt); + mnt_drop_write_file(filp); +group_extend_out: ext4_resize_end(sb); - return err; } @@@ -256,7 -246,9 +256,7 @@@ err = ext4_move_extents(filp, donor_filp, me.orig_start, me.donor_start, me.len, &me.moved_len); - mnt_drop_write(filp->f_path.mnt); + mnt_drop_write_file(filp); - if (me.moved_len > 0) - file_remove_suid(donor_filp); if (copy_to_user((struct move_extent __user *)arg, &me, sizeof(me))) @@@ -284,13 -274,12 +284,13 @@@ mext_out EXT4_FEATURE_RO_COMPAT_BIGALLOC)) { ext4_msg(sb, KERN_ERR, "Online resizing not supported with bigalloc"); - return -EOPNOTSUPP; + err = -EOPNOTSUPP; + goto group_add_out; } - err = mnt_want_write(filp->f_path.mnt); + err = mnt_want_write_file(filp); if (err) - return err; + goto group_add_out; err = ext4_group_add(sb, &input); if (EXT4_SB(sb)->s_journal) { @@@ -300,10 -289,9 +300,10 @@@ } if (err == 0) err = err2; + - mnt_drop_write(filp->f_path.mnt); + mnt_drop_write_file(filp); +group_add_out: ext4_resize_end(sb); - return err; }
Attachment:
pgpf5g2oQgltK.pgp
Description: PGP signature