Ticket #3595 (closed defect: fixed)

Opened 7 years ago

Last modified 7 years ago

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

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


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

Changed 7 years ago by jg

  • priority changed from high to blocker
  • milestone changed from Untriaged to Trial-3

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.

Changed 7 years ago by jg

My bug was #3260.

Changed 7 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.

Changed 7 years ago by jg

  • owner changed from jg to dilinger
  • cc J5 added

Changed 7 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.

Changed 7 years ago by jg

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

Changed 7 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:


Changed 7 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.

Changed 7 years ago by jg

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

Changed 7 years ago by mstone

  • status changed from new to closed
  • resolution set to fixed

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".

Note: See TracTickets for help on using tickets.