Skip to content

xfs: symlink and inode writeback issues

Dave Chinner linux-xfs 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest2 patches 15 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/2xfs: zero length symlinks are not validfs/xfs/libxfs/xfs_symlink_remote.c fs/xfs/xfs_symlink.c+27 -2013 replies
2/2xfs: xfs_iflush_abort() can be called twice on cluster writeback failurefs/xfs/xfs_inode.c+21 -362 replies

Reviews trailers per patch

1 of 2 patches has a Reviewed-by or Acked-by.

PatchBrian FosterDarrick J. Wong
1/2
2/2R-b R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH 0/2] xfs: symlink and inode writeback issues

Hi folks,

The first patch is the replacement fix for the symlink verification problem I originally posted as "xfs: symlinks can be zero length during log recovery" a few days ago. This caused the symlink data fork verifier to fire during inode writeback, and in tracking that down it became clear that zero length symlinks are not valid, despite repeated comments in the code that "they can happen". This new patch prevents zero length symlink inodes from ever getting to disk, and prevents transient states in memory where the symlink data fork is zero length.

The second patch is a fix for a problem discovered by the original symlink verifier patch - when it fired in inode writeback it would do a double flush lock release on the inode, triggering an assert. nothing good can come from that, so I tracked down the dark, dusty origins of the crappy error handling in the inode writeback code and fixed it, too.

Comments, thoughts?

Cheers,

Dave.