This is the commit_metadata export operation for XFS, including the changes suggested by hch and dgc: - Takes two two inodes instead of dentries and can assume the parent is always set. - Uses xfs_lo
This is the commit_metadata export operation for XFS, including the changes suggested by hch and dgc: - Takes two two inodes instead of dentries and can assume the parent is always set. - Uses xfs_lo
I alluded to this in my review of the first patch. This could be changed considered in a more generic sense, "sync one or two inodes' metadata" rather than presupposing the two inodes have a parent/c
Or just implement my later suggestion to only pass one inode to the method and cal in on both inodes. For the non-create case where we have only one transaction to deal with fhr first call will take
I chose not implement that suggestion because I prefer not to rely upon the coincidence that the child be modified last and synced first in knfsd. It is better that the intent of the patch be clear,
Assuming the xfs tree's something stable, I could also just go ahead and pull it into the nfsd tree. (Or we could do it the other way around--as long as when the merge window opens we try to send the
It does ot rely on that coincidence for correctness, just for a small performance optimization. The order of parent and child only happens in the create case where NFS does a separate ->setattr call.
The xfs tree is supposed to be stable and we only had very few incidents where a patch had to be pulled again. But it's also a quite large set of changes.
This is the commit_metadata export operation for XFS. - Takes one inode to be committed. - Forces the log up to the lsn of the inode. - Doesn't force the log if the inode doesn't have a pincount. Sig
That could be simplified to: if (xfs_ipincount(ip)) _xfs_log_force(mp, ip->i_itemp->ili_last_lsn XFS_LOG_FORCE | XFS_LOG_SYNC, NULL); Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx
This is the commit_metadata export operation for XFS. - Takes one inode to be committed. - Forces the log up to the lsn of the inode. - Doesn't force the log if the inode doesn't have a pincount. Sig