Bugzilla – Attachment 212522 Details for
Bug 384481
Can't lock file on NFS from openSUSE-11.0
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
IDP Log In
|
Forgot Password
[patch]
Patch to start statd properly
0001-Make-sure-statd-gets-started-when-string-options-a.patch (text/plain), 2.96 KB, created by
Neil Brown
on 2008-05-06 06:07:51 UTC
(
hide
)
Description:
Patch to start statd properly
Filename:
MIME Type:
Creator:
Neil Brown
Created:
2008-05-06 06:07:51 UTC
Size:
2.96 KB
patch
obsolete
>From a22d681bb98b212f8f67986222a9577180479551 Mon Sep 17 00:00:00 2001 >From: Neil Brown <neilb@suse.de> >Date: Tue, 6 May 2008 14:35:47 +1000 >Subject: [PATCH] Make sure statd gets started when 'string options' are in use. > >The code for checking and starting statd was only in the binary-options >branch of the code. >This moves it into common code. >--- > utils/mount/mount.c | 22 ++++++++++++++++++++-- > utils/mount/nfsmount.c | 11 ----------- > 2 files changed, 20 insertions(+), 13 deletions(-) > >diff --git a/utils/mount/mount.c b/utils/mount/mount.c >index 5076468..0036caa 100644 >--- a/utils/mount/mount.c >+++ b/utils/mount/mount.c >@@ -334,7 +334,8 @@ static void parse_opt(const char *opt, int *mask, char *extra_opts, int len) > * standard options (indicated by MS_ bits), and output parameter > * "@extra_opts" gets all the filesystem-specific options. > */ >-static void parse_opts(const char *options, int *flags, char **extra_opts) >+static void parse_opts(const char *options, int *flags, char **extra_opts, >+ int *lock) > { > if (options != NULL) { > char *opts = xstrdup(options); >@@ -358,6 +359,10 @@ static void parse_opts(const char *options, int *flags, char **extra_opts) > /* end of option item or last item */ > if (*p == '\0' || *(p + 1) == '\0') { > parse_opt(opt, flags, *extra_opts, len); >+ if (strcmp(opt, "lock") == 0) >+ *lock = 1; >+ if (strcmp(opt, "nolock") == 0) >+ *lock = 0; > opt = NULL; > } > } >@@ -421,6 +426,7 @@ int main(int argc, char *argv[]) > char *spec, *mount_point, *fs_type = "nfs"; > char *extra_opts = NULL, *mount_opts = NULL; > uid_t uid = getuid(); >+ int lock = 1; > > progname = basename(argv[0]); > >@@ -531,7 +537,7 @@ int main(int argc, char *argv[]) > goto out; > } > >- parse_opts(mount_opts, &flags, &extra_opts); >+ parse_opts(mount_opts, &flags, &extra_opts, &lock); > > if (uid != 0) { > if (!(flags & (MS_USERS|MS_USER))) { >@@ -546,6 +552,18 @@ int main(int argc, char *argv[]) > goto out; > } > >+ if (!fake && lock) { >+ if (!start_statd()) { >+ nfs_error(_("%s: rpc.statd is not running but is " >+ "required for remote locking.\n" >+ " Either use '-o nolock' to keep " >+ "locks local, or start statd."), >+ progname); >+ mnt_err = EX_FAIL; >+ goto out; >+ } >+ } >+ > mnt_err = try_mount(spec, mount_point, flags, fs_type, &extra_opts, > mount_opts, fake, nomtab, FOREGROUND); > if (mnt_err == EX_BG) { >diff --git a/utils/mount/nfsmount.c b/utils/mount/nfsmount.c >index 6c0c365..e6ed019 100644 >--- a/utils/mount/nfsmount.c >+++ b/utils/mount/nfsmount.c >@@ -851,17 +851,6 @@ noauth_flavors: > > *extra_opts = xstrdup(new_opts); > >- if (!fake && !(data.flags & NFS_MOUNT_NONLM)) { >- if (!start_statd()) { >- nfs_error(_("%s: rpc.statd is not running but is " >- "required for remote locking.\n" >- " Either use '-o nolock' to keep " >- "locks local, or start statd."), >- progname); >- goto fail; >- } >- } >- > if (!fake) { > if (mount(spec, node, "nfs", > flags & ~(MS_USER|MS_USERS), &data)) { >-- >1.5.5.1 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
Actions:
View
|
Diff
Attachments on
bug 384481
:
210952
|
210953
|
210954
|
210955
|
211089
| 212522