summaryrefslogtreecommitdiffstats
path: root/fs/orangefs/orangefs-kernel.h
diff options
context:
space:
mode:
authorMartin Brandenburg2019-02-12 21:19:06 +0100
committerMike Marshall2019-05-03 20:32:39 +0200
commit8f04e1be784858ba0288c7c09b9de06627a800c9 (patch)
treebf777bf20b50e8904de6be0f63f452b4246a9909 /fs/orangefs/orangefs-kernel.h
parentorangefs: implement writepages (diff)
downloadkernel-qcow2-linux-8f04e1be784858ba0288c7c09b9de06627a800c9.tar.gz
kernel-qcow2-linux-8f04e1be784858ba0288c7c09b9de06627a800c9.tar.xz
kernel-qcow2-linux-8f04e1be784858ba0288c7c09b9de06627a800c9.zip
orangefs: add orangefs_revalidate_mapping
This is modeled after NFS, except our method is different. We use a simple timer to determine whether to invalidate the page cache. This is bound to perform. This addes a sysfs parameter cache_timeout_msecs which controls the time between page cache invalidations. Signed-off-by: Martin Brandenburg <martin@omnibond.com> Signed-off-by: Mike Marshall <hubcap@omnibond.com>
Diffstat (limited to 'fs/orangefs/orangefs-kernel.h')
-rw-r--r--fs/orangefs/orangefs-kernel.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/orangefs/orangefs-kernel.h b/fs/orangefs/orangefs-kernel.h
index 336a3ec0b83e..87beab10326a 100644
--- a/fs/orangefs/orangefs-kernel.h
+++ b/fs/orangefs/orangefs-kernel.h
@@ -193,9 +193,11 @@ struct orangefs_inode_s {
sector_t last_failed_block_index_read;
unsigned long getattr_time;
+ unsigned long mapping_time;
int attr_valid;
kuid_t attr_uid;
kgid_t attr_gid;
+ unsigned long bitlock;
DECLARE_HASHTABLE(xattr_cache, 4);
};
@@ -390,6 +392,7 @@ bool __is_daemon_in_service(void);
/*
* defined in file.c
*/
+int orangefs_revalidate_mapping(struct inode *);
ssize_t wait_for_direct_io(enum ORANGEFS_io_type, struct inode *, loff_t *,
struct iov_iter *, size_t, loff_t, struct orangefs_write_range *);
ssize_t do_readv_writev(enum ORANGEFS_io_type, struct file *, loff_t *,
@@ -427,6 +430,7 @@ int orangefs_normalize_to_errno(__s32 error_code);
extern struct mutex orangefs_request_mutex;
extern int op_timeout_secs;
extern int slot_timeout_secs;
+extern int orangefs_cache_timeout_msecs;
extern int orangefs_dcache_timeout_msecs;
extern int orangefs_getattr_timeout_msecs;
extern struct list_head orangefs_superblocks;