nfs-utils/nfs-utils-1.1.0-exportfs-open.patch
2007-08-16 02:44:53 +00:00

27 lines
931 B
Diff

diff -up nfs-utils-1.1.0/support/nfs/xio.c.orig nfs-utils-1.1.0/support/nfs/xio.c
--- nfs-utils-1.1.0/support/nfs/xio.c.orig 2007-05-10 23:40:57.000000000 -0400
+++ nfs-utils-1.1.0/support/nfs/xio.c 2007-08-15 22:23:13.000000000 -0400
@@ -54,13 +54,20 @@ xflock(char *fname, char *type)
{
struct sigaction sa, oldsa;
int readonly = !strcmp(type, "r");
+ mode_t mode = (S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH);
struct flock fl = { readonly? F_RDLCK : F_WRLCK, SEEK_SET, 0, 0, 0 };
int fd;
- if ((fd = open(fname, readonly? O_RDONLY : (O_RDWR|O_CREAT))) < 0) {
- xlog(L_WARNING, "could not open %s for locking", fname);
+ if (readonly)
+ fd = open(fname, O_RDONLY);
+ else
+ fd = open(fname, (O_RDWR|O_CREAT), mode);
+ if (fd < 0) {
+ xlog(L_WARNING, "could not %s %s for locking",
+ (readonly ? "open" : "create"), fname);
return -1;
}
+
sa.sa_handler = doalarm;
sa.sa_flags = 0;
sigemptyset(&sa.sa_mask);