FROM:
Jeffrey Mahoney <[email protected]> | Save Address
DATE: Sat, 11 Feb 2006 16:58:20 -0500
TO: <[email protected]>
SUBJECT: Re: kernel-2.6.16-rc2-git8 - reiserfs 3.6 - write problem !!!
art wrote:
> kernel-2.6.16-rc2-git8 - reiserfs - write problem !!!
>
> it started ~from kernel-2.6.16-rc2
> 2.6.16-rc1-git6 works ok
>
> with 2.6.16-rc2-git8
> --reiserfs is 3.6 on ide hdd mounted on /mnt on scsi-hdd with ext3 on it--
> mount
> /dev/hda1 on /mnt/mountpoint-reiserfs type reiserfs (rw)
> /dev/sdb1 on /mnt/mountpoint-ext3 type ext3 (rw)
>
> [bebe@localhost mnt]$ ls -l -Z
> drwxr-xr-x root root system_u:object_r:file_t mountpoint-ext3
> drwxr-xr-x root root system_u:object_r:file_t mountpoint-reiserfs
>
> [root@localhost mountpoint-ext3]# ls -Z
> drwxrwxrwx root root root:object_r:file_t abc
> drwxr-xr-x bebe bebe root:object_r:file_t def
> drwx------ root root system_u:object_r:file_t lost+found
>
> [root@localhost mountpoint-reiserfs]# ls -Z
> drwxr-xr-- bebe bebe system_u:object_r:file_t abc
> drwxr-xr-x root root system_u:object_r:file_t def
>
> [bebe@localhost abc]$ su
> Password:
> [root@localhost abc]# ls >xxxxxx
> bash: xxxxxx: Permission denied
> [root@localhost abc]#
>
> same in targeted and permissive mode in selinux
>
> up to 2.6.16-rc1-git6 it works OK
Can you post the output of 'lsattr <dir>' where you get permission
denied? Also, please include any relevant dmesg output as well.
-Jeff
------------------------------------
mount /dev/hda1 /mnt/mountpoint-reiserfs
mount /dev/sdb1 /mnt/mountpoint-ext3
kernel-2.6.16-rc1-git6 OK
[bebe@localhost ~]$ cd /mnt
[bebe@localhost mnt]$ lsattr
------------- ./mountpoint-ext3
lsattr: Inappropriate ioctl for device While reading flags on ./mountpoint-reiserfs
[bebe@localhost mnt]$
[bebe@localhost mnt]$ cd mountpoint-reiserfs
[bebe@localhost mountpoint-reiserfs]$ lsattr
lsattr: Inappropriate ioctl for device While reading flags on ./v
lsattr: Inappropriate ioctl for device While reading flags on ./tmp
[bebe@localhost mountpoint-reiserfs]$
kernel-2.6.16-rc1-git6 OK
-----------------------------------
kernel-2.6.16-rc2-git9 BAD
[bebe@localhost ~]$ cd /mnt
[bebe@localhost mnt]$ lsattr
------------- ./mountpoint-ext3
su---ad-cjI-- ./mountpoint-reiserfs
[bebe@localhost mnt]$ cd mountpoint-reiserfs
[bebe@localhost mountpoint-reiserfs]$ lsattr
s-S-i-dAc--t- ./v
s-S-i-dAc--t- ./tmp
kernel-2.6.16-rc2-git9 BAD
looks like system automaticly sets attribs mounting reiserfs
"A file with the `i' attribute cannot be modified: it cannot be deleted or renamed, no link can be created to this file and no data can be written to the file. Only the superuser or a process possessing the CAP_LINUX_IMMUTABLE capability can set or clear this attribute."
"A file with the `a' attribute set can only be open in append mode for writing. Only the superuser or a process possessing the CAP_LINUX_IMMUTABLE capability can set or clear this attribute."
xboom
On Sun, Feb 12, 2006 at 01:56:52AM -0600, art wrote:
> kernel-2.6.16-rc2-git9 BAD
>
> looks like system automaticly sets attribs mounting reiserfs
>
> "A file with the `i' attribute cannot be modified: it cannot be deleted or renamed, no link can be created to this file and no data can be written to the file. Only the superuser or a process possessing the CAP_LINUX_IMMUTABLE capability can set or clear this attribute."
>
> "A file with the `a' attribute set can only be open in append mode for writing. Only the superuser or a process possessing the CAP_LINUX_IMMUTABLE capability can set or clear this attribute."
Ok. That's what I was afraid of. If this isn't your root file system, you
can clear the attributes with reiserfsck --clean-attributes <device>, and
it will fix the problem.
Unfortunately, this is hardly a solution, since this is a change that causes
unexpected and unpredictable results on file systems in use.
Andrew -
Since the attr-bits-cleared bit can't be trusted, I don't think we'll ever be
able to enable reiserfs inode attrs by default. I'll send a patch separately
to back out this behavior.
-Jeff
--
Jeff Mahoney
SuSE Labs
On Sun, Feb 12, 2006 at 01:56:52AM -0600, art wrote:
> FROM:
> Jeffrey Mahoney <[email protected]> | Save Address
> DATE: Sat, 11 Feb 2006 16:58:20 -0500
> TO: <[email protected]>
> SUBJECT: Re: kernel-2.6.16-rc2-git8 - reiserfs 3.6 - write problem !!!
>
> art wrote:
> > kernel-2.6.16-rc2-git8 - reiserfs - write problem !!!
> >
> > it started ~from kernel-2.6.16-rc2
> > 2.6.16-rc1-git6 works ok
art -
One more followup question. Was the file system you're using converted from a
v3.5 file system, or has it always been v3.6?
Sergey Vlasov on the reiserfs list noticed that v3.5 objects never had
REISERFS_I(inode)->i_attrs set, which means that even on a converted v3.6
file system, objects created underneath a v3.5-created directory would
inherit random attrs bits.
I have a patch that adds an additional check to see if the file system has
always been v3.6 - just by checking the version of the stat data on the root
directory.
If you haven't already run reiserfsck --clean attributes, can you give the
patch a try? Don't mount with -oattrs, since we already know the attributes
are corrupt. I just want to test and see if the file system you've got is
converted from a v3.5 file system and if it fixes the problem.
Thanks.
-Jeff
--
Jeff Mahoney
SuSE Labs