summaryrefslogtreecommitdiffstats
path: root/sys/nfsclient/nfsnode.h
diff options
context:
space:
mode:
authorps <ps@FreeBSD.org>2004-12-15 22:20:22 +0000
committerps <ps@FreeBSD.org>2004-12-15 22:20:22 +0000
commit7c0944d56c2504d71b846fe79d625028c80cdfd8 (patch)
treec7f222f7a8c32bdc81d83fd0f9f6321889902c8b /sys/nfsclient/nfsnode.h
parentede2fb9751ccd8ce53c764a80e9c92cf19817e80 (diff)
downloadFreeBSD-src-7c0944d56c2504d71b846fe79d625028c80cdfd8.zip
FreeBSD-src-7c0944d56c2504d71b846fe79d625028c80cdfd8.tar.gz
First cut of NFS direct IO support.
- NFS direct IO completely bypasses the buffer and page caches. If a file is open for direct IO all caching is disabled. - Direct IO for Directories will be addressed later. - 2 new NFS directio related sysctls are added. One is a knob to disable NFS direct IO completely (direct IO is enabled by default). The other is to disallow mmaped IO on a file that has at least one O_DIRECT open (see the comment in nfs_vnops.c for more details). The default is to allow mmaps on a file that has O_DIRECT opens. Submitted by: Mohan Srinivasan mohans at yahoo-inc dot com Obtained from: Yahoo!
Diffstat (limited to 'sys/nfsclient/nfsnode.h')
-rw-r--r--sys/nfsclient/nfsnode.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/nfsclient/nfsnode.h b/sys/nfsclient/nfsnode.h
index 9889ea4..4c03183 100644
--- a/sys/nfsclient/nfsnode.h
+++ b/sys/nfsclient/nfsnode.h
@@ -127,6 +127,7 @@ struct nfsnode {
u_char *n_name; /* leaf name, for v4 OPEN op */
uint32_t n_namelen;
daddr_t ra_expect_lbn;
+ int n_directio_opens;
};
#define n_atim n_un1.nf_atim
@@ -149,6 +150,7 @@ struct nfsnode {
#define NCREATED 0x0800 /* Opened by nfs_create() */
#define NTRUNCATE 0x1000 /* Opened by nfs_setattr() */
#define NSIZECHANGED 0x2000 /* File size has changed: need cache inval */
+#define NNONCACHE 0x4000 /* Node marked as noncacheable */
/*
* Convert between nfsnode pointers and vnode pointers
OpenPOWER on IntegriCloud