Btrfs stable patches for 4.5.x

David Sterba
2016-06-03T15:40:47Z

Hi,

please queue the following patches to 4.5 stable. There are fixes for user
visible bugs, improved error handling and stability fixes, all picked from
current 4.7 changes.

The patches do not apply cleanly on top of 4.5.6 so I'll send them as reply to
this mail, now with the stable changelog notices in place.

I have tested the patches on top of 4.5. Some patches may apply to older stable
branches but haven't been tested nor reviewed them in that respect.

Subjects:
btrfs: bugfix: handle FS_IOC32_{GETFLAGS,SETFLAGS,GETVERSION} in btrfs_ioctl
Btrfs: do not create empty block group if we have allocated data
btrfs: allow balancing to dup with multi-device
btrfs: fix mixed block count of available space
btrfs: avoid overflowing f_bfree
btrfs: fix lock dep warning, move scratch dev out of device_list_mutex and uuid_mutex
btrfs: add read-only check to sysfs handler of features
btrfs: add check to sysfs handler of label
Btrfs: fix divide error upon chunk's stripe_len
Btrfs: remove BUG_ON()'s in btrfs_map_block
btrfs: fix lock dep warning move scratch super outside of chunk_mutex
btrfs: add write protection to SET_FEATURES ioctl
btrfs: fix int32 overflow in shrink_delalloc().
Btrfs: fix fspath error deallocation
btrfs: fix memory leak during RAID 5/6 device replacement
btrfs: pass the right error code to the btrfs_std_error
Btrfs: fix for incorrect directory entries after fsync log replay
Btrfs: fix empty symlink after creating symlink and fsync parent dir
Btrfs: fix unexpected return value of fiemap
btrfs: scrub: Set bbio to NULL before calling btrfs_map_block
btrfs: make state preallocation more speculative in __set_extent_bit
Commits:
4c63c2454eff996c5e27991221106eb511f7db38
cf25ce518e8ef9d59b292e51193bed2b023a32da
88be159c905a2b4f6d59afa352bef410afb6af02
ae02d1bd070767e109f4a6f1bb1f466e9698a355
41b34accb265e3a20211a7a8ef3625678f1c6ec7
779bf3fefa835cb52a07457c8acac6f2f66f2493
ee6111386a1b304f8bf589d36810d53e3b27ee20
66ac9fe7bacf9fa76c472efc7a7aaa590c7bce6a
3d8da67817606380fdadfa483d4dba5c3a5446c6
e042d1ec4417981dfe9331e47b76f17929bc2ffe
48b3b9d401ec86899a52003b37331190a35a81a6
7ab19625a911f7568ec85302e3aa7a64186006c8
8eb0dfdbda3f56bf7d248ed87fcc383df114ecbb
72928f2476d08c79f132b4f44a17c9a011dd98e3
4673272f43ae790ab9ec04e38a7542f82bb8f020
ad8403df054c9b5dc3175a26c6179571b9cafa4e
657ed1aa4898c8304500e0d13f240d5a67e8be5f
3f9749f6e9edcf8ec569fb542efc3be35e06e84a
2d324f59f343967a03eeb2690f0ff178304d0687
f1fee6534dcfbf468a159789aa202db2bce8c200
059f791c6bbaba72dc3c1bd6e2657aacc8552849