summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorJosef Bacik <josef@redhat.com>2012-05-23 20:26:42 +0200
committerJosef Bacik <josef@redhat.com>2012-05-30 16:23:37 +0200
commit8a35d95ff4680a456d3ce47df9638f33d4f54f20 (patch)
tree8adb116747b84209406d29767b56e2a6ade2f2f4 /Makefile
parentBtrfs: convert the inode bit field to use the actual bit operations (diff)
downloadlinux-8a35d95ff4680a456d3ce47df9638f33d4f54f20.tar.xz
linux-8a35d95ff4680a456d3ce47df9638f33d4f54f20.zip
Btrfs: fix how we deal with the orphan block rsv
Ceph was hitting this race where we would remove an inode from the per-root orphan list before we would release the space we had reserved for the inode. We actually don't need a list or anything, we just need to make sure the root doesn't try to free up the orphan reserve until after the inodes have released their reservations. So use an atomic counter instead of a list on the root and only decrement the counter after we've released our reservation. I've tested this as well as several others and we no longer see the warnings that you would see while running ceph. Thanks, Btrfs: fix how we deal with the orphan block rsv Ceph was hitting this race where we would remove an inode from the per-root orphan list before we would release the space we had reserved for the inode. We actually don't need a list or anything, we just need to make sure the root doesn't try to free up the orphan reserve until after the inodes have released their reservations. So use an atomic counter instead of a list on the root and only decrement the counter after we've released our reservation. I've tested this as well as several others and we no longer see the warnings that you would see while running ceph. Thanks, Signed-off-by: Josef Bacik <josef@redhat.com>
Diffstat (limited to 'Makefile')
0 files changed, 0 insertions, 0 deletions