The subject just about says it all. After 12 hours
of uptime running 2.5.8-pre3 on an ext3 partition,
I noticed that changing the owner of a file had no
effect. Rebooting with 2.4.18, there was no problem
in using chown.
All the best,
Duncan.
Duncan Sands wrote:
>
> The subject just about says it all. After 12 hours
> of uptime running 2.5.8-pre3 on an ext3 partition,
> I noticed that changing the owner of a file had no
> effect. Rebooting with 2.4.18, there was no problem
> in using chown.
How does this look?
--- linux-2.5.8-pre3/fs/open.c Tue Apr 9 18:16:40 2002
+++ 25/fs/open.c Thu Apr 11 00:15:09 2002
@@ -524,11 +524,11 @@ static int chown_common(struct dentry *
goto out;
newattrs.ia_valid = ATTR_CTIME;
if (user != (uid_t) -1) {
- newattrs.ia_valid = ATTR_UID;
+ newattrs.ia_valid |= ATTR_UID;
newattrs.ia_uid = user;
}
if (group != (gid_t) -1) {
- newattrs.ia_valid = ATTR_GID;
+ newattrs.ia_valid |= ATTR_GID;
newattrs.ia_gid = group;
}
if (!S_ISDIR(inode->i_mode))
-
On Thu, 11 Apr 2002, Andrew Morton wrote:
> Duncan Sands wrote:
> >
> > The subject just about says it all. After 12 hours
> > of uptime running 2.5.8-pre3 on an ext3 partition,
> > I noticed that changing the owner of a file had no
> > effect. Rebooting with 2.4.18, there was no problem
> > in using chown.
>
> How does this look?
>
> --- linux-2.5.8-pre3/fs/open.c Tue Apr 9 18:16:40 2002
> +++ 25/fs/open.c Thu Apr 11 00:15:09 2002
> @@ -524,11 +524,11 @@ static int chown_common(struct dentry *
> goto out;
> newattrs.ia_valid = ATTR_CTIME;
> if (user != (uid_t) -1) {
> - newattrs.ia_valid = ATTR_UID;
> + newattrs.ia_valid |= ATTR_UID;
> newattrs.ia_uid = user;
> }
> if (group != (gid_t) -1) {
> - newattrs.ia_valid = ATTR_GID;
> + newattrs.ia_valid |= ATTR_GID;
Good catch. Linus, please apply.
On Thursday 11 April 2002 9:19 am, Andrew Morton wrote:
> Duncan Sands wrote:
> > The subject just about says it all. After 12 hours
> > of uptime running 2.5.8-pre3 on an ext3 partition,
> > I noticed that changing the owner of a file had no
> > effect. Rebooting with 2.4.18, there was no problem
> > in using chown.
>
> How does this look?
It looks good: with this patch I can now chown and chgrp
as usual.
Thanks for fixing this,
Duncan.
> --- linux-2.5.8-pre3/fs/open.c Tue Apr 9 18:16:40 2002
> +++ 25/fs/open.c Thu Apr 11 00:15:09 2002
> @@ -524,11 +524,11 @@ static int chown_common(struct dentry *
> goto out;
> newattrs.ia_valid = ATTR_CTIME;
> if (user != (uid_t) -1) {
> - newattrs.ia_valid = ATTR_UID;
> + newattrs.ia_valid |= ATTR_UID;
> newattrs.ia_uid = user;
> }
> if (group != (gid_t) -1) {
> - newattrs.ia_valid = ATTR_GID;
> + newattrs.ia_valid |= ATTR_GID;
> newattrs.ia_gid = group;
> }
> if (!S_ISDIR(inode->i_mode))
>
> -