Btrfs: add mount -o ssd_spread to spread allocations out
authorChris Mason <chris.mason@oracle.com>
Wed, 10 Jun 2009 00:28:34 +0000 (20:28 -0400)
committerChris Mason <chris.mason@oracle.com>
Wed, 10 Jun 2009 15:29:52 +0000 (11:29 -0400)
commit451d7585a8bb1b9bec0d676ce3dece1923164e55
treeb4e9103b7010e45e02deff9ae4470df71475f8de
parentc604480171c510c1beeb81b82418e5bc4de8f1ae
Btrfs: add mount -o ssd_spread to spread allocations out

Some SSDs perform best when reusing block numbers often, while
others perform much better when clustering strictly allocates
big chunks of unused space.

The default mount -o ssd will find rough groupings of blocks
where there are a bunch of free blocks that might have some
allocated blocks mixed in.

mount -o ssd_spread will make sure there are no allocated blocks
mixed in.  It should perform better on lower end SSDs.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
fs/btrfs/ctree.h
fs/btrfs/extent-tree.c
fs/btrfs/free-space-cache.c
fs/btrfs/free-space-cache.h
fs/btrfs/super.c