On Wednesday 13 December 2006 17:20, Oliver Lehmann wrote: > Jeremy C. Reed wrote: > > > > Why do the chflags(attr->olname, s.st_flags) "restore the fileflags of the > > sourcefile" twice? > > once in case the 2nd linking failed (there is a return after that!) > and the 2nd time for the "linking was successfull" case. > > > > Also the first reset of the chflags() should probably have error checking > > and debugging there too (specific for that). (That's what I have added to > > my own code.) > > The first chflags has error checking and reporting (rest file flags to > none) > Qmsg2(jcr, M_ERROR, 0, _("Could not reset file flags for file %s: ERR=%s\n"), > > The second chflags has error checking and reporting as well (restore file > flags in case of 2nd linking failed too and return) > Qmsg2(jcr, M_ERROR, 0, _("Could not restore file flags for file %s: ERR=%s\n"), > > The third chflags has error checking and reporting as well (restore file > flags in case of linking was successfull) > Qmsg2(jcr, M_ERROR, 0, _("Could not restore file flags for file %s: ERR=%s\n"), > > > > A hardlink is just a normal file -- it does have mode, ownership and > > access and modification times. (I think maybe you just typed wrong word > > above and didn't mean that.) > > Better say a normal/regular file is just another hardlink ;) > All hardlinks/normal/regular files/whatever pointing to the same inode. This > is why all hardlinks share the same attributes. Attributes are along with other > file informations stored inside the inode. -> all hardlinks same attributes. > Thats why I said that setting attributes for, you might say the same inode, > more than once doesn't need to be. That was why I changed set_attributes() > to not set the attributes again when the filetype is FT_LNKSAVED because then > there is another file pointing to the same inode, already in the filesystem > or has been restored before (otherwise the link() call in create_file would > have failed). In the first case setting the attributes would be even wrong. > In the second case it would not harm to set the attributes once more if there > wouldn't be such file flags like schg which are preventing this.
I encourage you to re-submit a patch for the above problem once 1.40.0 is out, possibly coordinating with Attila, since he seems to be working on something a bit more encompasing (attribs + ACLs, ...). > > > > > Also a symlink has a mode (which can be changed but probably on all BSDs > > it isn't even honored), ownership and modification time (time of symlink > > creation) and change time (time of last file status change). I can see all > > of this easily. > > A Symlink can have its own attributs which can be set too (lchmod(), lchown(), > lutimes()), this is right because it has an own inode to store the information. > > > > -- > Oliver Lehmann > http://www.pofo.de/ > http://wishlist.ans-netz.de/ > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > Bacula-devel mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/bacula-devel > ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users