On Tue, Sep 22, 2020 at 12:44:28PM +0800, Gao Xiang wrote: > On Tue, Sep 22, 2020 at 11:42:49AM +0800, Gao Xiang wrote: > > From: Gao Xiang <hsiangkao@xxxxxxxxxx> > > > > Since commit 1c1c6ebcf52 ("xfs: Replace per-ag array with a radix > > tree"), there is no m_peraglock anymore, so it's hard to understand > > the described situation since per-ag is no longer an array and no > > need to reallocate, call xfs_filestream_flush() in growfs. > > > > In addition, the race condition for shrink feature is quite confusing > > to me currently as well. Get rid of it instead. > > > > (Add some words) I think I understand what the race condition could mean > after shrink fs is landed then, but the main point for now is inconsistent > between code and comment, and there is no infrastructure on shrinkfs so > when shrink fs is landed, the locking rule on filestream should be refined > or redesigned and xfs_filestream_flush() for shrinkfs which was once > deleted by 1c1c6ebcf52 might be restored to drain out in-flight > xfs_fstrm_item for these shrink AGs then. > > From the current code logic, the comment has no use and has been outdated > for years. Keep up with the code would be better IMO to save time. Not being familiar with the filestream code at all, I wonder, what replaced all that stuff? Does that need a comment? I can't really tell at a quick glance what coordinates growfs with filestreams. --D