milis/talimatname/genel/k/kernel/vfs-ino.patch

24 lines
589 B
Diff
Raw Normal View History

2018-01-20 23:10:04 +01:00
SPDX-License-Identifier: GPL-2.0
2016-10-23 14:10:48 +02:00
diff --git a/fs/inode.c b/fs/inode.c
2018-03-11 22:57:16 +01:00
index 03102d6..a0b03c7 100644
2016-10-23 14:10:48 +02:00
--- a/fs/inode.c
+++ b/fs/inode.c
2018-01-20 23:10:04 +01:00
@@ -856,6 +856,8 @@ unsigned int get_next_ino(void)
2016-10-23 14:10:48 +02:00
unsigned int *p = &get_cpu_var(last_ino);
unsigned int res = *p;
+start:
+
#ifdef CONFIG_SMP
if (unlikely((res & (LAST_INO_BATCH-1)) == 0)) {
static atomic_t shared_last_ino;
2018-01-20 23:10:04 +01:00
@@ -868,7 +870,7 @@ unsigned int get_next_ino(void)
2016-10-23 14:10:48 +02:00
res++;
/* get_next_ino should not provide a 0 inode number */
if (unlikely(!res))
- res++;
+ goto start;
*p = res;
put_cpu_var(last_ino);
return res;