forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-13 9d77db3c730780c8ef5ccd4b66403ff5675cfe4e
kernel/fs/jfs/jfs_extent.c
....@@ -1,19 +1,6 @@
1
+// SPDX-License-Identifier: GPL-2.0-or-later
12 /*
23 * Copyright (C) International Business Machines Corp., 2000-2004
3
- *
4
- * This program is free software; you can redistribute it and/or modify
5
- * it under the terms of the GNU General Public License as published by
6
- * the Free Software Foundation; either version 2 of the License, or
7
- * (at your option) any later version.
8
- *
9
- * This program is distributed in the hope that it will be useful,
10
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
11
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
12
- * the GNU General Public License for more details.
13
- *
14
- * You should have received a copy of the GNU General Public License
15
- * along with this program; if not, write to the Free Software
16
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
174 */
185
196 #include <linux/fs.h>
....@@ -521,6 +508,11 @@
521508 * blocks in the map. in that case, we'll start off with the
522509 * maximum free.
523510 */
511
+
512
+ /* give up if no space left */
513
+ if (bmp->db_maxfreebud == -1)
514
+ return -ENOSPC;
515
+
524516 max = (s64) 1 << bmp->db_maxfreebud;
525517 if (*nblocks >= max && *nblocks > nbperpage)
526518 nb = nblks = (max > nbperpage) ? max : nbperpage;