From 6f0935da002f151511f76e6a329fb6e94529636a Mon Sep 17 00:00:00 2001 From: Ilya Dryomov Date: Tue, 27 Mar 2012 17:09:18 +0300 Subject: [PATCH] --- yaml --- r: 297902 b: refs/heads/master c: 213e64da90d14537cd63f7090d6c4d1fcc75d9f8 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/btrfs/volumes.c | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 4810d0d457db..ea9fc2463064 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5eb56d2520fe16f00756ccdf8eebc277398e0f44 +refs/heads/master: 213e64da90d14537cd63f7090d6c4d1fcc75d9f8 diff --git a/trunk/fs/btrfs/volumes.c b/trunk/fs/btrfs/volumes.c index bcc0acda8691..be2d4e0e6cfb 100644 --- a/trunk/fs/btrfs/volumes.c +++ b/trunk/fs/btrfs/volumes.c @@ -2987,7 +2987,7 @@ int btrfs_shrink_device(struct btrfs_device *device, u64 new_size) key.offset = (u64)-1; key.type = BTRFS_DEV_EXTENT_KEY; - while (1) { + do { ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); if (ret < 0) goto done; @@ -3029,8 +3029,7 @@ int btrfs_shrink_device(struct btrfs_device *device, u64 new_size) goto done; if (ret == -ENOSPC) failed++; - key.offset -= 1; - } + } while (key.offset-- > 0); if (failed && !retried) { failed = 0;