On Tue, Nov 03, 2020 at 05:39:21PM +0000, Christoph Hellwig wrote: > > int __sb_start_write(struct super_block *sb, int level, bool wait) > > { > > - int ret = 1; > > + if (!wait) > > + return percpu_down_read_trylock(sb->s_writers.rw_sem + level-1); > > > > + percpu_down_read(sb->s_writers.rw_sem + level-1); > > + return 1; > > } > > EXPORT_SYMBOL(__sb_start_write); > > Please split the function into __sb_start_write and > __sb_start_write_trylock while you're at it.. Any thoughts on this patch itself? I don't feel like I have 100% of the context to know whether the removal is a good idea for non-xfs filesystems, though I'm fairly sure the current logic is broken. (Sending a second cleanup patch...) --D