On Sat, Jan 02, 2010 at 06:53:38AM -0500, Christoph Hellwig wrote:
> On Sat, Jan 02, 2010 at 01:38:20PM +1100, Dave Chinner wrote:
> > The filestreams cache flush is not needed in the sync code as it
> > does not affect data writeback, and it is now not used by the
> > growfs code, either, so kill it.
> I have to admit I never understood the purpose of this call.
I can't remember why it was put there, either. I may have even put
it there when I was getting filestreams ready for merge but I can't remember
> What xfs_fstrm_free_func does is:
> - clear the filesystems flag on the inode
> - decrement pagf_fstrms
> - drop references on the inode (and parent if known)
> - free the filestream item
> Nothing of that should matter for sync, although dropping inode
> references during sync might generally be a good idea.
Which means that sync destroys active filestreams associations and
that seems more broken to me than anything an active reference will
cause. I think just letting them time out is better than having them
destroyed by external operations. I'm happy to leave it there if you