By means that are best not admitted to, I managed to mark a large
chunk of my filesystem append-only, including symlinks. I cleared the
flag from all the normal files and directories, but chattr and lsattr
don't want to operate on symlinks. They say things like:
$ sudo lsattr /boot/vmlinuz
lsattr: Operation not supported While reading flags on /boot/vmlinuz
and I can't delete them, because
$ sudo rm /boot/vmlinuz
rm: cannot remove `/boot/vmlinuz': Operation not permitted
Any ideas on how to clear the append-only flags? debug2fs is a little
scary, and hacking e2fsprogs to allow operation on symlinks seems to
affect symlink targets and not the symlinks themselves.
--Andy
On Fri, Oct 21, 2011 at 11:07:51AM -0700, Andrew Lutomirski wrote:
> By means that are best not admitted to, I managed to mark a large
> chunk of my filesystem append-only, including symlinks. I cleared the
> flag from all the normal files and directories, but chattr and lsattr
> don't want to operate on symlinks.
Yes. So how did you set a whole chunk of your file system
append-only?
> Any ideas on how to clear the append-only flags? debug2fs is a little
> scary, and hacking e2fsprogs to allow operation on symlinks seems to
> affect symlink targets and not the symlinks themselves.
I'd probably hack it into e2fsck, and let it offer to clear the
append-only flag on things that aren't regular files, on the theory
that they should have never been allowed to be set to begin with.
- Ted
On Fri, Oct 21, 2011 at 10:16 PM, Ted Ts'o <[email protected]> wrote:
> On Fri, Oct 21, 2011 at 11:07:51AM -0700, Andrew Lutomirski wrote:
>> By means that are best not admitted to, I managed to mark a large
>> chunk of my filesystem append-only, including symlinks. ?I cleared the
>> flag from all the normal files and directories, but chattr and lsattr
>> don't want to operate on symlinks.
>
> Yes. ?So how did you set a whole chunk of your file system
> append-only?
I want to be able to write to shared, locked, writable mappings
without sleeping. Updating file timestamps and stable pages get in
the way. I was trying out an approach to fixing the file_update_call
in do_wp_page using a new inode flag. Sadly, I figured out the hard
way that 8196 is not actually a power of two. (My patch is also
garbage for other reasons, but I'll email out a different approach as
an RFC sometime soon.)
If you have any ideas for how to handle stable pages other than
carrying a patch to disable them, I'd love to hear it. The obvious
approach of making a new writable copy of the page will involve
pagecache internals that I'm not at all familiar with.
>
>> Any ideas on how to clear the append-only flags? ?debug2fs is a little
>> scary, and hacking e2fsprogs to allow operation on symlinks seems to
>> affect symlink targets and not the symlinks themselves.
>
> I'd probably hack it into e2fsck, and let it offer to clear the
> append-only flag on things that aren't regular files, on the theory
> that they should have never been allowed to be set to begin with.
>
I'll take a look on Monday.
--Andy