From ecec6fe4d165a0f1ac41eede7bb04f42c1f7a111 Mon Sep 17 00:00:00 2001 From: Thomas Bushnell Date: Tue, 27 May 1997 15:56:42 +0000 Subject: Tue May 27 11:55:17 1997 Thomas Bushnell, n/BSG * file-chmod.c (netfs_S_file_chmod): Turn off any read-only bits. --- libnetfs/ChangeLog | 10 ++++++++-- libnetfs/file-chmod.c | 4 +++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/libnetfs/ChangeLog b/libnetfs/ChangeLog index 5bdb570c..d71d915b 100644 --- a/libnetfs/ChangeLog +++ b/libnetfs/ChangeLog @@ -1,3 +1,7 @@ +Tue May 27 11:55:17 1997 Thomas Bushnell, n/BSG + + * file-chmod.c (netfs_S_file_chmod): Turn off any read-only bits. + Fri Feb 28 21:14:20 1997 Miles Bader * file-reparent.c (netfs_S_file_reparent): Implement. @@ -7,12 +11,14 @@ Sun Feb 23 16:27:34 1997 Miles Bader * dir-mkfile.c (netfs_S_dir_mkfile): Pass context arg to netfs_make_peropen instead of parent node. * file-exec.c (netfs_S_file_exec): Likewise. - * dir-lookup.c (netfs_S_dir_lookup): Implement shadow root .. traversal. + * dir-lookup.c (netfs_S_dir_lookup): Implement shadow root + .. traversal. Use context po argument to netfs_make_peropen & as cookie to fshelp_fetch_root, instead of parent node. * fsys-getroot.c (netfs_S_fsys_getroot): Add PEROPEN_CONTEXT variable, and pass it to netfs_make_peropen & fshelp_fetch_root. - * netfs.h (struct peropen): Add shadow_root_parent & shadow_root fields. + * netfs.h (struct peropen): Add shadow_root_parent & shadow_root + fields. Removed depth field. Rename dotdotnode field to root_parent. (netfs_make_peropen): Add and use CONTEXT parameter. * make-peropen.c (netfs_make_peropen): Add and use CONTEXT parameter. diff --git a/libnetfs/file-chmod.c b/libnetfs/file-chmod.c index 92b3437e..0f082f18 100644 --- a/libnetfs/file-chmod.c +++ b/libnetfs/file-chmod.c @@ -1,5 +1,5 @@ /* - Copyright (C) 1995, 1996 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. Written by Michael I. Bushnell, p/BSG. This file is part of the GNU Hurd. @@ -29,6 +29,8 @@ netfs_S_file_chmod (struct protid *user, if (!user) return EOPNOTSUPP; + + mode &= ~(S_IFMT | S_ISPARE | S_ITRANS); mutex_lock (&user->po->np->lock); err = netfs_attempt_chmod (user->user, user->po->np, mode); -- cgit v1.2.3