Signed-off-by: Kusanagi Kouichi <sl...@ac.auone-net.jp>
---
 fs/namespace.c |   17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/fs/namespace.c b/fs/namespace.c
index 55605c5..467ca80 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -71,15 +71,14 @@ static int mnt_alloc_id(struct mount *mnt)
 {
        int res;
 
-retry:
-       ida_pre_get(&mnt_id_ida, GFP_KERNEL);
-       spin_lock(&mnt_id_lock);
-       res = ida_get_new_above(&mnt_id_ida, mnt_id_start, &mnt->mnt_id);
-       if (!res)
-               mnt_id_start = mnt->mnt_id + 1;
-       spin_unlock(&mnt_id_lock);
-       if (res == -EAGAIN)
-               goto retry;
+       do {
+               ida_pre_get(&mnt_id_ida, GFP_KERNEL);
+               spin_lock(&mnt_id_lock);
+               res = ida_get_new_above(&mnt_id_ida, mnt_id_start, 
&mnt->mnt_id);
+               if (!res)
+                       mnt_id_start = mnt->mnt_id + 1;
+               spin_unlock(&mnt_id_lock);
+       } while (res == -EAGAIN);
 
        return res;
 }
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to