Restored the nfs-utils-2.5.4-mount-sloppy.patch
Signed-off-by: Steve Dickson <steved@redhat.com> Resolves: bz1987070
This commit is contained in:
parent
424763a9c2
commit
e73730e5e7
@ -1,44 +1,69 @@
|
||||
diff -up nfs-utils-2.5.4/utils/nfsdcltrack/nfsdcltrack.c.orig nfs-utils-2.5.4/utils/nfsdcltrack/nfsdcltrack.c
|
||||
--- nfs-utils-2.5.4/utils/nfsdcltrack/nfsdcltrack.c.orig 2021-06-10 14:07:47.000000000 -0400
|
||||
+++ nfs-utils-2.5.4/utils/nfsdcltrack/nfsdcltrack.c 2021-08-18 13:44:11.839124879 -0400
|
||||
@@ -507,7 +507,7 @@ cltrack_gracedone(const char *timestr)
|
||||
commit 4dd8d833c9350d42528ada0fd65aee41b712f41d
|
||||
Author: Steve Dickson <steved@redhat.com>
|
||||
Date: Tue Jul 20 17:14:04 2021 -0400
|
||||
|
||||
mount.nfs: Fix the sloppy option processing
|
||||
|
||||
The new mount API broke how the sloppy option is parsed.
|
||||
So the option processing needs to be moved up in
|
||||
the mount.nfs command.
|
||||
|
||||
The option needs to be the first option in the string
|
||||
that is passed into the kernel with the -s mount(8)
|
||||
and/or the -o sloppy is used.
|
||||
|
||||
Commit 92b664ef fixed the process of the -s flag
|
||||
and this version fixes the -o sloppy processing
|
||||
as well works when libmount-mount is and is not
|
||||
enabled plus cleans up the mount options passed
|
||||
to the kernel.
|
||||
|
||||
Reviewed-and-tested-by: Dave Wysochanski <dwysocha@redhat.com>
|
||||
Signed-off-by: Steve Dickson <steved@redhat.com>
|
||||
|
||||
diff --git a/utils/mount/nfs.man b/utils/mount/nfs.man
|
||||
index f98cb47d..f1b76936 100644
|
||||
--- a/utils/mount/nfs.man
|
||||
+++ b/utils/mount/nfs.man
|
||||
@@ -555,6 +555,13 @@ using the FS-Cache facility. See cachefilesd(8)
|
||||
and <kernel_source>/Documentation/filesystems/caching
|
||||
for detail on how to configure the FS-Cache facility.
|
||||
Default value is nofsc.
|
||||
+.TP 1.5i
|
||||
+.B sloppy
|
||||
+The
|
||||
+.B sloppy
|
||||
+option is an alternative to specifying
|
||||
+.BR mount.nfs " -s " option.
|
||||
+
|
||||
.SS "Options for NFS versions 2 and 3 only"
|
||||
Use these options, along with the options in the above subsection,
|
||||
for NFS versions 2 and 3 only.
|
||||
diff --git a/utils/mount/stropts.c b/utils/mount/stropts.c
|
||||
index 82b054a5..fa67a66f 100644
|
||||
--- a/utils/mount/stropts.c
|
||||
+++ b/utils/mount/stropts.c
|
||||
@@ -339,11 +339,19 @@ static int nfs_verify_lock_option(struct mount_options *options)
|
||||
|
||||
static int nfs_insert_sloppy_option(struct mount_options *options)
|
||||
{
|
||||
int ret;
|
||||
char *tail;
|
||||
- time_t gracetime;
|
||||
+ uint64_t gracetime;
|
||||
- if (!sloppy || linux_version_code() < MAKE_VERSION(2, 6, 27))
|
||||
+ if (linux_version_code() < MAKE_VERSION(2, 6, 27))
|
||||
return 1;
|
||||
|
||||
- if (po_insert(options, "sloppy") == PO_FAILED)
|
||||
- return 0;
|
||||
+ if (po_contains(options, "sloppy")) {
|
||||
+ po_remove_all(options, "sloppy");
|
||||
+ sloppy++;
|
||||
+ }
|
||||
+
|
||||
+ if (sloppy) {
|
||||
+ if (po_insert(options, "sloppy") == PO_FAILED)
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
ret = sqlite_prepare_dbh(storagedir);
|
||||
diff -up nfs-utils-2.5.4/utils/nfsdcltrack/sqlite.c.orig nfs-utils-2.5.4/utils/nfsdcltrack/sqlite.c
|
||||
--- nfs-utils-2.5.4/utils/nfsdcltrack/sqlite.c.orig 2021-06-10 14:07:47.000000000 -0400
|
||||
+++ nfs-utils-2.5.4/utils/nfsdcltrack/sqlite.c 2021-08-18 13:48:16.264408309 -0400
|
||||
@@ -48,6 +48,7 @@
|
||||
#include <fcntl.h>
|
||||
#include <unistd.h>
|
||||
#include <sqlite3.h>
|
||||
+#include <stdint.h>
|
||||
#include <linux/limits.h>
|
||||
|
||||
#include "xlog.h"
|
||||
@@ -539,7 +540,7 @@ out_err:
|
||||
* remove any client records that were not reclaimed since grace_start.
|
||||
*/
|
||||
int
|
||||
-sqlite_remove_unreclaimed(time_t grace_start)
|
||||
+sqlite_remove_unreclaimed(uint64_t grace_start)
|
||||
{
|
||||
int ret;
|
||||
char *err = NULL;
|
||||
diff -up nfs-utils-2.5.4/utils/nfsdcltrack/sqlite.h.orig nfs-utils-2.5.4/utils/nfsdcltrack/sqlite.h
|
||||
--- nfs-utils-2.5.4/utils/nfsdcltrack/sqlite.h.orig 2021-06-10 14:07:47.000000000 -0400
|
||||
+++ nfs-utils-2.5.4/utils/nfsdcltrack/sqlite.h 2021-08-18 13:44:11.839124879 -0400
|
||||
@@ -26,7 +26,7 @@ int sqlite_insert_client(const unsigned
|
||||
int sqlite_remove_client(const unsigned char *clname, const size_t namelen);
|
||||
int sqlite_check_client(const unsigned char *clname, const size_t namelen,
|
||||
const bool has_session);
|
||||
-int sqlite_remove_unreclaimed(const time_t grace_start);
|
||||
+int sqlite_remove_unreclaimed(const uint64_t grace_start);
|
||||
int sqlite_query_reclaiming(const time_t grace_start);
|
||||
|
||||
#endif /* _SQLITE_H */
|
||||
|
@ -1,3 +1,47 @@
|
||||
diff -up nfs-utils-2.5.4/utils/nfsdcltrack/nfsdcltrack.c.orig nfs-utils-2.5.4/utils/nfsdcltrack/nfsdcltrack.c
|
||||
--- nfs-utils-2.5.4/utils/nfsdcltrack/nfsdcltrack.c.orig 2021-06-10 14:07:47.000000000 -0400
|
||||
+++ nfs-utils-2.5.4/utils/nfsdcltrack/nfsdcltrack.c 2021-08-18 13:44:11.839124879 -0400
|
||||
@@ -507,7 +507,7 @@ cltrack_gracedone(const char *timestr)
|
||||
{
|
||||
int ret;
|
||||
char *tail;
|
||||
- time_t gracetime;
|
||||
+ uint64_t gracetime;
|
||||
|
||||
|
||||
ret = sqlite_prepare_dbh(storagedir);
|
||||
diff -up nfs-utils-2.5.4/utils/nfsdcltrack/sqlite.c.orig nfs-utils-2.5.4/utils/nfsdcltrack/sqlite.c
|
||||
--- nfs-utils-2.5.4/utils/nfsdcltrack/sqlite.c.orig 2021-06-10 14:07:47.000000000 -0400
|
||||
+++ nfs-utils-2.5.4/utils/nfsdcltrack/sqlite.c 2021-08-18 13:48:16.264408309 -0400
|
||||
@@ -48,6 +48,7 @@
|
||||
#include <fcntl.h>
|
||||
#include <unistd.h>
|
||||
#include <sqlite3.h>
|
||||
+#include <stdint.h>
|
||||
#include <linux/limits.h>
|
||||
|
||||
#include "xlog.h"
|
||||
@@ -539,7 +540,7 @@ out_err:
|
||||
* remove any client records that were not reclaimed since grace_start.
|
||||
*/
|
||||
int
|
||||
-sqlite_remove_unreclaimed(time_t grace_start)
|
||||
+sqlite_remove_unreclaimed(uint64_t grace_start)
|
||||
{
|
||||
int ret;
|
||||
char *err = NULL;
|
||||
diff -up nfs-utils-2.5.4/utils/nfsdcltrack/sqlite.h.orig nfs-utils-2.5.4/utils/nfsdcltrack/sqlite.h
|
||||
--- nfs-utils-2.5.4/utils/nfsdcltrack/sqlite.h.orig 2021-06-10 14:07:47.000000000 -0400
|
||||
+++ nfs-utils-2.5.4/utils/nfsdcltrack/sqlite.h 2021-08-18 13:44:11.839124879 -0400
|
||||
@@ -26,7 +26,7 @@ int sqlite_insert_client(const unsigned
|
||||
int sqlite_remove_client(const unsigned char *clname, const size_t namelen);
|
||||
int sqlite_check_client(const unsigned char *clname, const size_t namelen,
|
||||
const bool has_session);
|
||||
-int sqlite_remove_unreclaimed(const time_t grace_start);
|
||||
+int sqlite_remove_unreclaimed(const uint64_t grace_start);
|
||||
int sqlite_query_reclaiming(const time_t grace_start);
|
||||
|
||||
#endif /* _SQLITE_H */
|
||||
diff --git a/utils/nfsdcltrack/nfsdcltrack.c b/utils/nfsdcltrack/nfsdcltrack.c
|
||||
index 2f8bea81..7c1c4bcc 100644
|
||||
--- a/utils/nfsdcltrack/nfsdcltrack.c
|
||||
|
Loading…
Reference in New Issue
Block a user