diff options
author | David Howells <dhowells@redhat.com> | 2009-04-03 19:42:38 +0400 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2009-04-03 19:42:38 +0400 |
commit | 2868cbea72dc89ae0eb17693596b1dedaafff1c5 (patch) | |
tree | 277e2cbdafabe6ca74458445838a07b571a94996 /fs | |
parent | 726dd7ff10c217dd74329c94643dc8ebea27334b (diff) | |
download | linux-2868cbea72dc89ae0eb17693596b1dedaafff1c5.tar.xz |
FS-Cache: Bit waiting helpers
Add helpers for use with wait_on_bit().
Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Steve Dickson <steved@redhat.com>
Acked-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Acked-by: Al Viro <viro@zeniv.linux.org.uk>
Tested-by: Daire Byrne <Daire.Byrne@framestore.com>
Diffstat (limited to 'fs')
-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); |