diff options
Diffstat (limited to 'fs/gfs2/unlinked.c')
-rw-r--r-- | fs/gfs2/unlinked.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/fs/gfs2/unlinked.c b/fs/gfs2/unlinked.c index 0d2314a5252c..2824b1665f95 100644 --- a/fs/gfs2/unlinked.c +++ b/fs/gfs2/unlinked.c | |||
@@ -130,11 +130,12 @@ static void enforce_limit(struct gfs2_sbd *sdp) | |||
130 | unsigned int tries = 0, min = 0; | 130 | unsigned int tries = 0, min = 0; |
131 | int error; | 131 | int error; |
132 | 132 | ||
133 | if (atomic_read(&sdp->sd_unlinked_count) >= | 133 | if (atomic_read(&sdp->sd_unlinked_count) < |
134 | gfs2_tune_get(sdp, gt_ilimit)) { | 134 | gfs2_tune_get(sdp, gt_ilimit)) |
135 | tries = gfs2_tune_get(sdp, gt_ilimit_tries); | 135 | return; |
136 | min = gfs2_tune_get(sdp, gt_ilimit_min); | 136 | |
137 | } | 137 | tries = gfs2_tune_get(sdp, gt_ilimit_tries); |
138 | min = gfs2_tune_get(sdp, gt_ilimit_min); | ||
138 | 139 | ||
139 | while (tries--) { | 140 | while (tries--) { |
140 | struct gfs2_unlinked *ul = ul_fish(sdp); | 141 | struct gfs2_unlinked *ul = ul_fish(sdp); |
@@ -187,7 +188,7 @@ int gfs2_unlinked_get(struct gfs2_sbd *sdp, struct gfs2_unlinked **ul) | |||
187 | 188 | ||
188 | goto fail; | 189 | goto fail; |
189 | 190 | ||
190 | found: | 191 | found: |
191 | for (b = 0; b < 8; b++) | 192 | for (b = 0; b < 8; b++) |
192 | if (!(byte & (1 << b))) | 193 | if (!(byte & (1 << b))) |
193 | break; | 194 | break; |
@@ -202,7 +203,7 @@ int gfs2_unlinked_get(struct gfs2_sbd *sdp, struct gfs2_unlinked **ul) | |||
202 | 203 | ||
203 | return 0; | 204 | return 0; |
204 | 205 | ||
205 | fail: | 206 | fail: |
206 | spin_unlock(&sdp->sd_unlinked_spin); | 207 | spin_unlock(&sdp->sd_unlinked_spin); |
207 | kfree(*ul); | 208 | kfree(*ul); |
208 | return -ENOSPC; | 209 | return -ENOSPC; |
@@ -410,7 +411,7 @@ int gfs2_unlinked_init(struct gfs2_sbd *sdp) | |||
410 | 411 | ||
411 | return 0; | 412 | return 0; |
412 | 413 | ||
413 | fail: | 414 | fail: |
414 | gfs2_unlinked_cleanup(sdp); | 415 | gfs2_unlinked_cleanup(sdp); |
415 | return error; | 416 | return error; |
416 | } | 417 | } |