diff options
author | Richard Purdie <rpurdie@linux.intel.com> | 2010-12-30 10:12:14 +0000 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2010-12-30 10:12:14 +0000 |
commit | 59ad91a880695808c5b4efe88fa46286662e4cfc (patch) | |
tree | 52a40efec182c732157be1553609c9bb0d74892d /meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/015-setattr.patch | |
parent | acf3b8e884657101b736d32f4216655b96659f49 (diff) | |
download | openembedded-core-59ad91a880695808c5b4efe88fa46286662e4cfc.tar.gz |
unfs-server: Fix PV so it obeys the version number policy
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Diffstat (limited to 'meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/015-setattr.patch')
-rw-r--r-- | meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/015-setattr.patch | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/015-setattr.patch b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/015-setattr.patch new file mode 100644 index 0000000000..cbfb8e8214 --- /dev/null +++ b/meta/recipes-devtools/unfs-server/unfs-server-2.1+2.2beta47/015-setattr.patch @@ -0,0 +1,26 @@ +# Patch origin: nfs-server source RPM from openSUSE 10.3 + +--- nfs-server/setattr.c.orig 2006-07-28 16:38:26.000000000 +0200 ++++ nfs-server/setattr.c 2006-07-28 16:42:28.000000000 +0200 +@@ -97,7 +97,20 @@ + tvp[1].tv_sec = s->st_mtime; + tvp[1].tv_usec = 0; + } +- if (efs_utimes(path, tvp) < 0) ++ if (m_secs != IGNORE_TIME && attr->mtime.useconds == 1000000) { ++ /* ++ * from kernel/fs/nfsd/nfsxdr.c: ++ * Passing the invalid value useconds=1000000 for mtime ++ * is a Sun convention for "set both mtime and atime to ++ * current server time". It's needed to make permissions ++ * checks for the "touch" program across v2 mounts to ++ * Solaris and Irix boxes work correctly. See description of ++ * sattr in section 6.1 of "NFS Illustrated" by ++ * Brent Callaghan, Addison-Wesley, ISBN 0-201-32750-5 ++ */ ++ if (utime(path, (struct utimbuf *)0) < 0) ++ goto failure; ++ } else if (efs_utimes(path, tvp) < 0) + goto failure; + } + } |