diff options
-rw-r--r-- | fs/fscache/internal.h | 3 | ||||
-rw-r--r-- | fs/fscache/main.c | 20 |
2 files changed, 23 insertions, 0 deletions
diff --git a/fs/fscache/internal.h b/fs/fscache/internal.h index 4c6ba561e966..16389942a54e 100644 --- a/fs/fscache/internal.h +++ b/fs/fscache/internal.h @@ -82,6 +82,9 @@ extern unsigned fscache_defer_create; extern unsigned fscache_debug; extern struct kobject *fscache_root; +extern int fscache_wait_bit(void *); +extern int fscache_wait_bit_interruptible(void *); + /* * fsc-proc.c */ diff --git a/fs/fscache/main.c b/fs/fscache/main.c index 48b79d2deac1..4de41b597499 100644 --- a/fs/fscache/main.c +++ b/fs/fscache/main.c @@ -102,3 +102,23 @@ static void __exit fscache_exit(void) } module_exit(fscache_exit); + +/* + * wait_on_bit() sleep function for uninterruptible waiting + */ +int fscache_wait_bit(void *flags) +{ + schedule(); + return 0; +} +EXPORT_SYMBOL(fscache_wait_bit); + +/* + * wait_on_bit() sleep function for interruptible waiting + */ +int fscache_wait_bit_interruptible(void *flags) +{ + schedule(); + return signal_pending(current); +} +EXPORT_SYMBOL(fscache_wait_bit_interruptible); |