There is a premature optimization in the set_ea_dos_attribute() function that causes the user.DOSATTRIB extended attribute not to be written on a new directory, thus losing the stored Windows create time. The problem comes when the calculated NT birthtime is identical to the birthtime stored on disk when the directory is actually created. As the stored btime is identical to the calculated btime, and the stored DOS attribute is identical to the calculated DOS attribute, the set_ea_dos_attribute() does not then create the underlying EA. This breaks one of the new advertized features of 3.5.0 (the ability to store Windows create times in extended attributes) hence I'm logging this as a blocker. I have a fix (which I will post) and will add an smbtorture test for this to ensure no regression. Karolin, Volker, Metze - if you disagree with the blocker status please downgrade accordingly. Thanks, Jeremy.
Created attachment 5254 [details] git-am format patch for 3.5.0. This fixes it for me (checked by the torture test checked in with git a35be8c0c2d804638d9eda5afb6c96ef2f090549. Jeremy.
Comment on attachment 5254 [details] git-am format patch for 3.5.0. Once this is reviewed I'll re-assign to Karolin for inclusion in 3.5.0 final. Jeremy.
Comment from initial reporter (who wishes to remain anonymous). "I applied your changes and rebuilt samba, now XXXXXXXXXX and samba 3.5 work BEAUTIFULLY together supporting ea." I'd like to push this to 3.5.0 final, as it's a low risk fix (IMHO) with a test case to prevent regressions. Jeremy.
Comment on attachment 5254 [details] git-am format patch for 3.5.0. This can go in IMO. Volker
Pushed to v3-5-test, will be included in 3.5.0. Closing out bug report. Thanks!