98 lines
3.6 KiB
Diff
98 lines
3.6 KiB
Diff
--- nfs-utils-1.1.0/utils/mount/nfsmount.c.orig 2007-05-10 23:40:57.000000000 -0400
|
|
+++ nfs-utils-1.1.0/utils/mount/nfsmount.c 2007-07-25 11:25:33.000000000 -0400
|
|
@@ -733,6 +733,10 @@ parse_options(char *old_opts, struct nfs
|
|
data->flags &= ~NFS_MOUNT_SOFT;
|
|
if (val)
|
|
data->flags |= NFS_MOUNT_SOFT;
|
|
+ } else if (!strcmp(opt, "fsc")) {
|
|
+ data->flags &= ~NFS_MOUNT_FSCACHE;
|
|
+ if (val)
|
|
+ data->flags |= NFS_MOUNT_FSCACHE;
|
|
} else if (!strcmp(opt, "hard")) {
|
|
data->flags &= ~NFS_MOUNT_SOFT;
|
|
if (!val)
|
|
--- nfs-utils-1.1.0/utils/mount/nfs.man.orig 2007-05-10 23:40:57.000000000 -0400
|
|
+++ nfs-utils-1.1.0/utils/mount/nfs.man 2007-07-25 11:27:55.000000000 -0400
|
|
@@ -288,6 +288,10 @@ Mount the NFS filesystem using the UDP p
|
|
Disables NFSv3 READDIRPLUS RPCs. Use this option when
|
|
mounting servers that don't support or have broken
|
|
READDIRPLUS implementations.
|
|
+.TP 1.5i
|
|
+.I fsc
|
|
+Enable the use of persistent caching to the local disk using
|
|
+the FS-Cache facility for the given mount point.
|
|
.P
|
|
All of the non-value options have corresponding nooption forms.
|
|
For example, nointr means don't allow file operations to be
|
|
@@ -444,6 +448,10 @@ This extracts a
|
|
server performance penalty but it allows two different NFS clients
|
|
to get reasonable good results when both clients are actively
|
|
writing to common filesystem on the server.
|
|
+.TP 1.5i
|
|
+.I fsc
|
|
+Enable the use of persistent caching to the local disk using
|
|
+the FS-Cache facility for the given mount point.
|
|
.P
|
|
All of the non-value options have corresponding nooption forms.
|
|
For example, nointr means don't allow file operations to be
|
|
--- nfs-utils-1.1.0/utils/mount/nfs4mount.c.orig 2007-05-10 23:40:57.000000000 -0400
|
|
+++ nfs-utils-1.1.0/utils/mount/nfs4mount.c 2007-07-25 11:25:33.000000000 -0400
|
|
@@ -201,7 +201,7 @@ int nfs4mount(const char *spec, const ch
|
|
char *s;
|
|
int val;
|
|
int bg, soft, intr;
|
|
- int nocto, noac;
|
|
+ int nocto, noac, fscache;
|
|
int retry;
|
|
int retval;
|
|
time_t timeout, t;
|
|
@@ -252,6 +252,7 @@ int nfs4mount(const char *spec, const ch
|
|
intr = NFS4_MOUNT_INTR;
|
|
nocto = 0;
|
|
noac = 0;
|
|
+ fscache = 0;
|
|
retry = 10000; /* 10000 minutes ~ 1 week */
|
|
|
|
/*
|
|
@@ -332,6 +333,8 @@ int nfs4mount(const char *spec, const ch
|
|
soft = !val;
|
|
else if (!strcmp(opt, "intr"))
|
|
intr = val;
|
|
+ else if (!strcmp(opt, "fsc"))
|
|
+ fscache = val;
|
|
else if (!strcmp(opt, "cto"))
|
|
nocto = !val;
|
|
else if (!strcmp(opt, "ac"))
|
|
@@ -347,7 +350,8 @@ int nfs4mount(const char *spec, const ch
|
|
data.flags = (soft ? NFS4_MOUNT_SOFT : 0)
|
|
| (intr ? NFS4_MOUNT_INTR : 0)
|
|
| (nocto ? NFS4_MOUNT_NOCTO : 0)
|
|
- | (noac ? NFS4_MOUNT_NOAC : 0);
|
|
+ | (noac ? NFS4_MOUNT_NOAC : 0)
|
|
+ | (fscache ? NFS4_MOUNT_FSCACHE : 0);
|
|
|
|
/*
|
|
* Give a warning if the rpc.idmapd daemon is not running
|
|
--- nfs-utils-1.1.0/utils/mount/nfs4_mount.h.orig 2007-05-10 23:40:57.000000000 -0400
|
|
+++ nfs-utils-1.1.0/utils/mount/nfs4_mount.h 2007-07-25 11:27:07.000000000 -0400
|
|
@@ -65,7 +65,8 @@ struct nfs4_mount_data {
|
|
#define NFS4_MOUNT_NOCTO 0x0010 /* 1 */
|
|
#define NFS4_MOUNT_NOAC 0x0020 /* 1 */
|
|
#define NFS4_MOUNT_STRICTLOCK 0x1000 /* 1 */
|
|
-#define NFS4_MOUNT_FLAGMASK 0xFFFF
|
|
+#define NFS4_MOUNT_FSCACHE 0x10000 /* 1 */
|
|
+#define NFS4_MOUNT_FLAGMASK 0x1FFFF
|
|
|
|
/* pseudoflavors: */
|
|
|
|
--- nfs-utils-1.1.0/utils/mount/nfs_mount.h.orig 2007-05-10 23:40:57.000000000 -0400
|
|
+++ nfs-utils-1.1.0/utils/mount/nfs_mount.h 2007-07-25 11:26:39.000000000 -0400
|
|
@@ -64,6 +64,7 @@ struct nfs_mount_data {
|
|
#define NFS_MOUNT_NOACL 0x0800 /* 4 */
|
|
#define NFS_MOUNT_SECFLAVOUR 0x2000 /* 5 */
|
|
#define NFS_MOUNT_NORDIRPLUS 0x4000 /* 5 */
|
|
+#define NFS_MOUNT_FSCACHE 0x10000 /* 5 */
|
|
|
|
/* security pseudoflavors */
|
|
|