From: Mantis B. T. <no...@bu...> - 2011-05-17 08:34:00
|
A NOTE has been added to this issue. ====================================================================== http://bugs.bacula.org/view.php?id=1735 ====================================================================== Reported By: alltech Assigned To: marcovw ====================================================================== Project: bacula Issue ID: 1735 Category: File Daemon Reproducibility: always Severity: major Priority: normal Status: assigned ====================================================================== Date Submitted: 2011-05-13 11:10 GMT Last Modified: 2011-05-17 08:33 GMT ====================================================================== Summary: Bacula doesnt backup and restore Mac OSX ACL Description: I am on a Mac OSX 10.6.7 environment and i got problems backing up ACLs (or restoring them). When I restore, I got no acl on any folder or file ( ls -lae ). I only get simple basic POSIX wrights My mount point is ACL enabled. I always tough that ACLs where backed up on OSX because of "STREAM ACL DARWIN ACCESS ACL" in acl update section of the doc. There were some posts in the mailing list but I never found any solution to this problem. Some said that osx acls are slightly different than linux acl. Thanks Hugo Additional Information: Here is my file set include: Options { compression = GZIP3 HFSPlus Support = yes Signature = MD5 ACL Support = yes xattrsupport = yes } File = /Test ====================================================================== ---------------------------------------------------------------------- (0005865) marcovw (developer) - 2011-05-13 11:30 http://bugs.bacula.org/view.php?id=1735#c5865 ---------------------------------------------------------------------- Hmm interesting, as I don't have a test environment with OSX myself I cannot test what Apple has done lately to their ACL support. The current code is based on the old code which has all kinds of exceptions as Apple decided to do things clearly differently then any other vendor. First steps would be to run your bacula-fd with a debug level of 400 to see what is happening. So bacula-fd -f -d 400 > logfile 2>&1 & And I would also like a truss or strace output or whatever its called on OSX for doing a system call trace of the bacula-fd when doing the backup. Maybe that can shed some light into why things aren't working. ---------------------------------------------------------------------- (0005866) alltech (reporter) - 2011-05-13 13:21 http://bugs.bacula.org/view.php?id=1735#c5866 ---------------------------------------------------------------------- Hi have made some files with touch and applied an acl on it. Files.acl ( with acl ) Files.noacl ( without acl ) See the attached parts that I attached to the bug report. I didn't made the trace for the moment. I am working on it to do it fine Thanks ---------------------------------------------------------------------- (0005867) alltech (reporter) - 2011-05-13 13:31 http://bugs.bacula.org/view.php?id=1735#c5867 ---------------------------------------------------------------------- acl.c:403-0 acl_get_file error file=/TestACL/1/1.acl ERR=Unknown error: 0 That mean that he fails during ACL get function ---------------------------------------------------------------------- (0005868) marcovw (developer) - 2011-05-13 13:49 http://bugs.bacula.org/view.php?id=1735#c5868 ---------------------------------------------------------------------- As it seems OSX returns a NULL acl on the acl_get call we do. I would like to see some trace to see what its doing. I see that there is something like dtruss which should be able to give a somewhat better tracing output. The first thing to determine is why acl_get is returning a NULL acl. Its also strange that no errno is set. See http://developer.apple.com/library/mac/#documentation/darwin/reference/manpages/man3/acl_get.3.html ---------------------------------------------------------------------- (0005869) alltech (reporter) - 2011-05-13 14:36 http://bugs.bacula.org/view.php?id=1735#c5869 ---------------------------------------------------------------------- I just added the bacula fd trace that I have done with dtruss ---------------------------------------------------------------------- (0005870) marcovw (developer) - 2011-05-13 15:07 http://bugs.bacula.org/view.php?id=1735#c5870 ---------------------------------------------------------------------- Ok the trace doesn't show to much bummer. The only thing I can think of now is that as we use #ifdef(ACL_TYPE_EXTENDED) is not working as its a enum value. We probably need some more autoconf magic. For now I hacked acl.c on OSX to always run acl_get_file with the ACL_TYPE_EXTENDED flag. As seen in sys/acl.h that is also the only way its supposed to work on OSX. /* 23.2.6 Individual ACL types */ typedef enum { ACL_TYPE_EXTENDED = 0x00000100, /* Posix 1003.1e types - not supported */ ACL_TYPE_ACCESS = 0x00000000, ACL_TYPE_DEFAULT = 0x00000001, /* The following types are defined on FreeBSD/Linux - not supported */ ACL_TYPE_AFS = 0x00000002, ACL_TYPE_CODA = 0x00000003, ACL_TYPE_NTFS = 0x00000004, ACL_TYPE_NWFS = 0x00000005 } acl_type_t; could you check your /usr/include/sys/acl.h if that still contains that info this comes from google magic. ---------------------------------------------------------------------- (0005871) marcovw (developer) - 2011-05-13 15:08 http://bugs.bacula.org/view.php?id=1735#c5871 ---------------------------------------------------------------------- If you could try the following patch to acl.c and recompile your bacula-fd then we can make sure that this really fixes the problem. If not then its back to the drawingboard as I have currently no other clue. ---------------------------------------------------------------------- (0005872) alltech (reporter) - 2011-05-14 10:52 http://bugs.bacula.org/view.php?id=1735#c5872 ---------------------------------------------------------------------- I am busy for the week end, I will see that on monday/tuesday Thanks ---------------------------------------------------------------------- (0005873) alltech (reporter) - 2011-05-16 11:12 http://bugs.bacula.org/view.php?id=1735#c5873 ---------------------------------------------------------------------- /* 23.2.6 Individual ACL types */ typedef enum { ACL_TYPE_EXTENDED = 0x00000100, /* Posix 1003.1e types - not supported */ ACL_TYPE_ACCESS = 0x00000000, ACL_TYPE_DEFAULT = 0x00000001, /* The following types are defined on FreeBSD/Linux - not supported */ ACL_TYPE_AFS = 0x00000002, ACL_TYPE_CODA = 0x00000003, ACL_TYPE_NTFS = 0x00000004, ACL_TYPE_NWFS = 0x00000005 } acl_type_t; could you check your /usr/include/sys/acl.h if that still contains that info this comes from google magic. My /usr/include/sys/acl.h contain that text I have re-compiled the client only for mac osx with the patch. It works fine ! Now acl are working good. Is this possible to do some commit on the official code ? I think that I am not the only one who got this problem. I will send a mail on the mailing list so that all the OSX users should check that their ACL are working good Thanks ---------------------------------------------------------------------- (0005874) marcovw (developer) - 2011-05-16 12:21 http://bugs.bacula.org/view.php?id=1735#c5874 ---------------------------------------------------------------------- Ok, so that confirms my clue. Could you try the newly attached configure and config.h.in e.g. gunzip the configure.gz and replace the configure in the src and put the config.h.in into the autoconf dir. If you then can run the configure and attach the output of the configure run and the config.h that is generated then I know if the new configure magic works. When thats done I can update my local branch and push the changes to the different branches so this is solved in the next release. ---------------------------------------------------------------------- (0005875) alltech (reporter) - 2011-05-16 12:50 http://bugs.bacula.org/view.php?id=1735#c5875 ---------------------------------------------------------------------- I added 2 XXX.1.gzip files I got an error when I run configure config.status: error: cannot find input file: src/qt-console/tray-monitor/tray-monitor.pro.in Edit : I ran configure --enable-client-only ---------------------------------------------------------------------- (0005876) marcovw (developer) - 2011-05-16 13:06 http://bugs.bacula.org/view.php?id=1735#c5876 ---------------------------------------------------------------------- Ok, a configure of a 5.1 release ain't gonna work. Try the ones attached now which are based on a 5.0 release. ---------------------------------------------------------------------- (0005877) alltech (reporter) - 2011-05-16 13:21 http://bugs.bacula.org/view.php?id=1735#c5877 ---------------------------------------------------------------------- just one question : should I use the new configure script and config.h with or without the patch ? ---------------------------------------------------------------------- (0005878) marcovw (developer) - 2011-05-16 13:26 http://bugs.bacula.org/view.php?id=1735#c5878 ---------------------------------------------------------------------- Doesn't matter what you use the configure is to see if we can detect the extended acl setting but as it seems from your last output from configure it doesn't look like it. Its a bit to bad as on OSF1 and FreeBSD the additional flags are defines so we have no problems but on OSX its an enum and that doesn't seem to work to well. ---------------------------------------------------------------------- (0005879) alltech (reporter) - 2011-05-16 13:40 http://bugs.bacula.org/view.php?id=1735#c5879 ---------------------------------------------------------------------- Ok I add the new files. This time configure said no error. ---------------------------------------------------------------------- (0005880) marcovw (developer) - 2011-05-16 14:30 http://bugs.bacula.org/view.php?id=1735#c5880 ---------------------------------------------------------------------- Ok, last try I now rewrote the configure logic a bit using a dirty grep lets see if that works. Could you run the configure attached and the config.h.in ? If you can then add the output I know if things work. I did most of the backport to the 5.0 branch so that if this works I can commit the patch. ---------------------------------------------------------------------- (0005881) alltech (reporter) - 2011-05-16 15:01 http://bugs.bacula.org/view.php?id=1735#c5881 ---------------------------------------------------------------------- it's done, I wil be back tomorrow Thanks ---------------------------------------------------------------------- (0005882) marcovw (developer) - 2011-05-16 15:14 http://bugs.bacula.org/view.php?id=1735#c5882 ---------------------------------------------------------------------- Ok the configure.out looks truncated but the config.h now has the right define so this seems to work. Ok I'll make sure things get folded into the right branches so things work in the next versions to come. ---------------------------------------------------------------------- (0005883) alltech (reporter) - 2011-05-17 08:33 http://bugs.bacula.org/view.php?id=1735#c5883 ---------------------------------------------------------------------- Can you say me when it will be ok ? I will need to redeploy a new mac package on my macs. Where can I download the last update ? ( I am not very good using the new git repository ) Issue History Date Modified Username Field Change ====================================================================== 2011-05-13 11:10 alltech New Issue 2011-05-13 11:30 marcovw Note Added: 0005865 2011-05-13 11:30 marcovw Status new => feedback 2011-05-13 11:30 marcovw Additional Information Updated 2011-05-13 13:21 alltech Note Added: 0005866 2011-05-13 13:21 alltech Status feedback => new 2011-05-13 13:22 alltech File Added: bacula-logfile 2011-05-13 13:22 alltech Issue Monitored: alltech 2011-05-13 13:23 alltech File Added: annexe 2011-05-13 13:31 alltech Note Added: 0005867 2011-05-13 13:49 marcovw Note Added: 0005868 2011-05-13 13:49 marcovw Status new => feedback 2011-05-13 13:49 marcovw Additional Information Updated 2011-05-13 14:34 alltech File Added: btrace 2011-05-13 14:36 alltech Note Added: 0005869 2011-05-13 14:36 alltech Status feedback => new 2011-05-13 15:07 marcovw Note Added: 0005870 2011-05-13 15:07 marcovw Assigned To => marcovw 2011-05-13 15:07 marcovw Status new => assigned 2011-05-13 15:07 marcovw File Added: osx_acl_always_extended 2011-05-13 15:08 marcovw Note Added: 0005871 2011-05-14 10:52 alltech Note Added: 0005872 2011-05-14 14:41 marcovw Status assigned => feedback 2011-05-16 11:12 alltech Note Added: 0005873 2011-05-16 11:12 alltech Status feedback => assigned 2011-05-16 12:09 marcovw File Deleted: osx_acl_always_extended 2011-05-16 12:10 marcovw File Added: configure.gz 2011-05-16 12:10 marcovw File Added: config.h.in 2011-05-16 12:21 marcovw Note Added: 0005874 2011-05-16 12:22 marcovw Status assigned => feedback 2011-05-16 12:46 alltech File Added: config.h.1.gz 2011-05-16 12:46 alltech File Added: test-configure1.gz 2011-05-16 12:49 alltech Note Added: 0005875 2011-05-16 12:49 alltech Status feedback => assigned 2011-05-16 12:50 alltech Note Edited: 0005875 2011-05-16 13:03 marcovw File Deleted: configure.gz 2011-05-16 13:03 marcovw File Deleted: config.h.in 2011-05-16 13:03 marcovw File Added: configure.gz 2011-05-16 13:04 marcovw File Added: config.h.in.gz 2011-05-16 13:04 marcovw File Deleted: btrace 2011-05-16 13:06 marcovw Note Added: 0005876 2011-05-16 13:10 marcovw File Deleted: config.h.1.gz 2011-05-16 13:10 marcovw File Deleted: test-configure1.gz 2011-05-16 13:21 alltech Note Added: 0005877 2011-05-16 13:26 marcovw Note Added: 0005878 2011-05-16 13:40 alltech Note Added: 0005879 2011-05-16 13:42 alltech File Added: test-configure 2011-05-16 13:43 alltech File Added: config.h 2011-05-16 14:26 marcovw File Deleted: configure.gz 2011-05-16 14:27 marcovw File Deleted: config.h.in.gz 2011-05-16 14:27 marcovw File Deleted: config.h 2011-05-16 14:27 marcovw File Deleted: test-configure 2011-05-16 14:27 marcovw File Added: configure.gz 2011-05-16 14:28 marcovw File Added: config.h.in.gz 2011-05-16 14:30 marcovw Note Added: 0005880 2011-05-16 14:59 alltech File Added: config.h.gz 2011-05-16 15:00 alltech File Added: configure.out.gz 2011-05-16 15:01 alltech Note Added: 0005881 2011-05-16 15:14 marcovw Note Added: 0005882 2011-05-16 15:19 marcovw File Deleted: configure.gz 2011-05-16 15:19 marcovw File Deleted: config.h.in.gz 2011-05-16 15:20 marcovw File Deleted: config.h.gz 2011-05-16 15:20 marcovw File Deleted: configure.out.gz 2011-05-17 08:33 alltech Note Added: 0005883 ====================================================================== |