Opened 10 years ago

Closed 9 years ago

Last modified 20 months ago

#3595 closed defect (fixed)

Make CoW link-breaking preserve broken link's uid/gid.

Reported by: mstone Owned by: dilinger
Priority: blocker Milestone:
Component: distro Version:
Keywords: Cc: mstone, cscott, dilinger, neuralis, J5
Blocked By: Blocking:
Deployments affected: Action Needed:
Verified: no


cscott and mstone discovered and analyzed a update-related bug from Sep. 17-19 that, when encountered, corrupts files' gid fields.

Bertl (Herbert Poetzl) also analyzed the bug and discovered that it was more widespread than we initially believed: he showed that it affects all CoW hard-links (which we intend to use extensively through-out our filesystem, for Trial-3).

He has developed a kernel patch that he believes will fix the problem.

He also developed a minimal test-case that we can use to verify the fix.

Change History (11)

comment:1 Changed 10 years ago by jg

  • Milestone changed from Untriaged to Trial-3
  • Priority changed from high to blocker

I believe I've also seen this corruption; I hope I got it into trac. I don't have a number handy. It may be filed against jffs2 and Dave.

In my case, I had a system where the Activities directory became owned by root, and therefore the system broke pretty horribly, since the olpc user didn't have access to even get its icons.

Fix OK for Trial-3.

comment:2 Changed 10 years ago by jg

My bug was #3260.

comment:3 Changed 10 years ago by mstone

I suspect your bug is different: this bug should only apply to inodes with the IATTR_IMMUTABLE and IATTR_UNLINK flags set and directories should not have those flags set.

comment:4 Changed 10 years ago by jg

  • Cc J5 added
  • Owner changed from jg to dilinger

comment:5 Changed 10 years ago by mstone

Unfortunately, Herbert's patch does not apply against our stable kernel-tree. I have notified him (and daniel_hozac, in #vserver on oftc) and I expect well see a new patch in a couple of days.

comment:6 Changed 9 years ago by jg

Mike, could you please follow up on this one ASAP? A couple days seems to have grown into 2 weeks.

comment:7 Changed 9 years ago by dilinger

I'm assuming the fix is in the large vserver update I received from Herbert? It's in the vserver branch if you'd like to test it:;a=commitdiff;h=798a9189a531bd578df014136be583e9addd694d

comment:8 Changed 9 years ago by mstone

After a short conference, dilinger and I propose to resolve this bug by backporting the smallest possible fix into our Trial-3 kernel, smoke-testing this fix tonight, and merging the remainder of Herbert's patch after Trial-3.

comment:9 Changed 9 years ago by jg

  • Milestone changed from Untriaged to First Deployment, V1.0

comment:10 Changed 9 years ago by mstone

  • Resolution set to fixed
  • Status changed from new to closed

This has been fixed for some time in the "stable" branch of the kernel; however, we decided not to back-port this fix to "trial-3".

comment:11 Changed 20 months ago by Quozl

  • Milestone Update.1 deleted

Milestone Update.1 deleted

Note: See TracTickets for help on using tickets.