Simple defragmentation tool that
Searched for files that are fragmented
Creates a tempory inode
Asks the filesystem to create new extents for the temporary inode
If the new extents are less fragmented it copies the data in original file to the new extents
The temporary inode is then renamed to replace the original file
Fsr makes no consideration for the used and free space within its allocation group and does not rearrange files to create larger contiguous free space
So fsr may fragment freespace over a period of time