Blame nfs-utils-1.1.0-exportfs-open.patch
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
c0c131b |
diff -up nfs-utils-1.1.1/support/nfs/xio.c.save nfs-utils-1.1.1/support/nfs/xio.c
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
c0c131b |
--- nfs-utils-1.1.1/support/nfs/xio.c.save 2007-10-18 23:07:28.000000000 -0400
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
c0c131b |
+++ nfs-utils-1.1.1/support/nfs/xio.c 2008-01-05 08:27:35.000000000 -0500
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
c0c131b |
@@ -54,13 +54,19 @@ xflock(char *fname, char *type)
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
1702f2c |
{
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
1702f2c |
struct sigaction sa, oldsa;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
1702f2c |
int readonly = !strcmp(type, "r");
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
1702f2c |
+ mode_t mode = (S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH);
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
1702f2c |
struct flock fl = { readonly? F_RDLCK : F_WRLCK, SEEK_SET, 0, 0, 0 };
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
1702f2c |
int fd;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
1702f2c |
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
c0c131b |
- if ((fd = open(fname, readonly? O_RDONLY : (O_RDWR|O_CREAT), 0644)) < 0) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
c0c131b |
+ if (readonly)
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
1702f2c |
+ fd = open(fname, O_RDONLY);
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
1702f2c |
+ else
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
1702f2c |
+ fd = open(fname, (O_RDWR|O_CREAT), mode);
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
1702f2c |
+ if (fd < 0) {
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
c0c131b |
xlog(L_WARNING, "could not open %s for locking", fname);
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
1702f2c |
return -1;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
1702f2c |
}
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
1702f2c |
+
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
1702f2c |
sa.sa_handler = doalarm;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
1702f2c |
sa.sa_flags = 0;
|
|
![](https://seccdn.libravatar.org/avatar/79dde3aae8e74a087a9437286a490898715b52e98b8655cac3f971ab0a473044?s=16&d=retro) |
1702f2c |
sigemptyset(&sa.sa_mask);
|