diff options
author | mohans <mohans@FreeBSD.org> | 2006-04-06 01:20:30 +0000 |
---|---|---|
committer | mohans <mohans@FreeBSD.org> | 2006-04-06 01:20:30 +0000 |
commit | 8a6c02da7df4358036aa25e6bfdff3041be47c60 (patch) | |
tree | af911ea1d219da3c9fd65d8c880efbd0492f2c3c /sys/nfsclient/nfsnode.h | |
parent | 4170173ab06311a95b74ad80577722e0588e097e (diff) | |
download | FreeBSD-src-8a6c02da7df4358036aa25e6bfdff3041be47c60.zip FreeBSD-src-8a6c02da7df4358036aa25e6bfdff3041be47c60.tar.gz |
Keep track of the number of in-progress async direct IO writes in the nfsnode.
Make fsync/close wait until all of these drain. Add a check to nfs_getpage() and
nfs_putpage().
Diffstat (limited to 'sys/nfsclient/nfsnode.h')
-rw-r--r-- | sys/nfsclient/nfsnode.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/nfsclient/nfsnode.h b/sys/nfsclient/nfsnode.h index 0c5817f..a0a2a88 100644 --- a/sys/nfsclient/nfsnode.h +++ b/sys/nfsclient/nfsnode.h @@ -126,6 +126,7 @@ struct nfsnode { uint32_t n_namelen; daddr_t ra_expect_lbn; int n_directio_opens; + int n_directio_asyncwr; }; #define n_atim n_un1.nf_atim @@ -149,6 +150,8 @@ struct nfsnode { #define NTRUNCATE 0x1000 /* Opened by nfs_setattr() */ #define NSIZECHANGED 0x2000 /* File size has changed: need cache inval */ #define NNONCACHE 0x4000 /* Node marked as noncacheable */ +#define NFSYNCWAIT 0x8000 /* fsync waiting for all directio async writes + to drain */ /* * Convert between nfsnode pointers and vnode pointers |