View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000314 | bareos-core | file daemon | public | 2014-06-19 18:10 | 2015-03-25 19:19 |
Reporter | ironiq | Assigned To | |||
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Platform | Microsoft | OS | Windows | OS Version | 2008 and 2012 |
Summary | 0000314: On Windows 2008 and Windows 2012 the junction points / links are not backed up properly | ||||
Description | The junction point / link was introduced in Windows 2008. If i try to restore a windows 2008 or 2012, the junction point / link is restored as an empty directory and not the original object. Backing up FD: rds-test-fd Version: 14.2.0 (31 May 2014) VSS Linux Cross-compile Win64 Daemon started 05-Jun-14 16:15. Jobs: run=2 running=0. Microsoft Windows Server 2008 R2 Standard Edition Service Pack 1 (build 7601), 64-bit Heap: heap=0 smbytes=293,932 max_bytes=384,758 bufs=136 max_bufs=289 Sizeof: boffset_t=8 size_t=8 debug=0 trace=1 bwlimit=0kB/s Restoring FD: bmr_resore_win-fd Version: 14.2.0 (31 May 2014) VSS Linux Cross-compile Win64 Daemon started 05-Jun-14 17:00. Jobs: run=0 running=0. Microsoft Windows 8 Ultimate Edition (build 9200), 64-bit Heap: heap=0 smbytes=203,780 max_bytes=203,780 bufs=115 max_bufs=115 Sizeof: boffset_t=8 size_t=8 debug=0 trace=1 bwlimit=0kB/s | ||||
Steps To Reproduce | 1. Backup a Windows 2008 or 2012 server 2. Restore it somewhere else 3. Check the "\ProgramData\Desktop" or "\ProgramData\Application Data" directory (and several others, there are lots of JPs/Links in Windows) | ||||
Tags | No tags attached. | ||||
Fix committed to bareos master branch with changesetid 2419. | |
Fix committed to bareos bareos-14.2 branch with changesetid 2485. | |
Fix committed to bareos2015 bareos-14.2 branch with changesetid 4519. | |
Due to the reimport of the Github repository to bugs.bareos.org, the status of some tickets have been changed. These tickets will be closed again. Sorry for the noise. |
|
bareos: master fdbd74c5 2014-12-03 10:32 Oleg Livshyts Committer: mvwieringen Ported: N/A Details Diff |
We now support symlink-like objects on windows Support was added for the following types of symlinks: - Symlinks on Files - Symlinks on Directories - Junction Points These are implemented in windows as Reparse Points. All these objects are treated like ordinary symlinks (FT_LNK) in bareos, also Junction Points and Symlinks on Directories which are directories in windows logic. The Information on what kind of symlink-like object we have is stored in the st_rdev member of the stat information. There we have now - FILE_ATTRIBUTES_JUNCTION_POINT - FILE_ATTRIBUTES_SYMBOLIC_LINK During Backup, the function "get_symlink_data" gets the information where the symlink/junction/volume mount points points to. During restore, the function "symlink" creates the symlink-like object. To be able to determine what kind of "symlink" needs to be created, it also gets the st_rdev information. Depending on what kind of symlink it needs to create it either calls the windows api function "CreateSymbolicLink" or the self-implemented Function "CreateJunction" The symlink target is not altered during restore, even if it is restored with a prefix (where), because this makes absolute links unusable. Fixes 0000314: On Windows 2008 and Windows 2012 the junction points / links are not backed up properly Signed-off-by: Philipp Storz <philipp.storz@bareos.com> Signed-off-by: Marco van Wieringen <marco.van.wieringen@bareos.com> |
Affected Issues 0000314 |
|
mod - src/filed/backup.c | Diff File | ||
mod - src/findlib/create_file.c | Diff File | ||
mod - src/findlib/find_one.c | Diff File | ||
mod - src/findlib/mkpath.c | Diff File | ||
mod - src/lib/attr.c | Diff File | ||
mod - src/win32/compat/compat.c | Diff File | ||
mod - src/win32/compat/include/compat.h | Diff File | ||
bareos: bareos-14.2 fa6f6097 2014-12-03 10:32 Oleg Livshyts Committer: mvwieringen Ported: N/A Details Diff |
We now support symlink-like objects on windows Support was added for the following types of symlinks: - Symlinks on Files - Symlinks on Directories - Junction Points These are implemented in windows as Reparse Points. All these objects are treated like ordinary symlinks (FT_LNK) in bareos, also Junction Points and Symlinks on Directories which are directories in windows logic. The Information on what kind of symlink-like object we have is stored in the st_rdev member of the stat information. There we have now - FILE_ATTRIBUTES_JUNCTION_POINT - FILE_ATTRIBUTES_SYMBOLIC_LINK During Backup, the function "get_symlink_data" gets the information where the symlink/junction/volume mount points points to. During restore, the function "symlink" creates the symlink-like object. To be able to determine what kind of "symlink" needs to be created, it also gets the st_rdev information. Depending on what kind of symlink it needs to create it either calls the windows api function "CreateSymbolicLink" or the self-implemented Function "CreateJunction" The symlink target is not altered during restore, even if it is restored with a prefix (where), because this makes absolute links unusable. Fixes 0000314: On Windows 2008 and Windows 2012 the junction points / links are not backed up properly Signed-off-by: Philipp Storz <philipp.storz@bareos.com> Signed-off-by: Marco van Wieringen <marco.van.wieringen@bareos.com> |
Affected Issues 0000314 |
|
mod - src/filed/backup.c | Diff File | ||
mod - src/findlib/create_file.c | Diff File | ||
mod - src/findlib/find_one.c | Diff File | ||
mod - src/findlib/mkpath.c | Diff File | ||
mod - src/lib/attr.c | Diff File | ||
mod - src/win32/compat/compat.c | Diff File | ||
mod - src/win32/compat/include/compat.h | Diff File | ||
bareos2015: bareos-14.2 647b2617 2014-12-03 11:32 Oleg Livshyts Committer: mvwieringen Ported: N/A Details Diff |
We now support symlink-like objects on windows Support was added for the following types of symlinks: - Symlinks on Files - Symlinks on Directories - Junction Points These are implemented in windows as Reparse Points. All these objects are treated like ordinary symlinks (FT_LNK) in bareos, also Junction Points and Symlinks on Directories which are directories in windows logic. The Information on what kind of symlink-like object we have is stored in the st_rdev member of the stat information. There we have now - FILE_ATTRIBUTES_JUNCTION_POINT - FILE_ATTRIBUTES_SYMBOLIC_LINK During Backup, the function "get_symlink_data" gets the information where the symlink/junction/volume mount points points to. During restore, the function "symlink" creates the symlink-like object. To be able to determine what kind of "symlink" needs to be created, it also gets the st_rdev information. Depending on what kind of symlink it needs to create it either calls the windows api function "CreateSymbolicLink" or the self-implemented Function "CreateJunction" The symlink target is not altered during restore, even if it is restored with a prefix (where), because this makes absolute links unusable. Fixes 0000314: On Windows 2008 and Windows 2012 the junction points / links are not backed up properly Signed-off-by: Philipp Storz <philipp.storz@bareos.com> Signed-off-by: Marco van Wieringen <marco.van.wieringen@bareos.com> |
Affected Issues 0000314 |
|
mod - src/filed/backup.c | Diff File | ||
mod - src/findlib/create_file.c | Diff File | ||
mod - src/findlib/find_one.c | Diff File | ||
mod - src/findlib/mkpath.c | Diff File | ||
mod - src/lib/attr.c | Diff File | ||
mod - src/win32/compat/compat.c | Diff File | ||
mod - src/win32/compat/include/compat.h | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2014-06-19 18:10 | ironiq | New Issue | |
2014-08-13 09:43 | mvwieringen | Assigned To | => pstorz |
2014-08-13 09:43 | mvwieringen | Status | new => assigned |
2014-12-03 17:51 | mvwieringen | Changeset attached | => bareos master fdbd74c5 |
2014-12-03 17:51 | mvwieringen | Note Added: 0001097 | |
2014-12-03 17:51 | mvwieringen | Assigned To | pstorz => mvwieringen |
2014-12-03 17:51 | mvwieringen | Status | assigned => resolved |
2014-12-03 17:51 | mvwieringen | Resolution | open => fixed |
2014-12-12 02:02 | mvwieringen | Changeset attached | => bareos bareos-14.2 fa6f6097 |
2014-12-12 02:02 | mvwieringen | Note Added: 0001106 | |
2015-01-26 16:03 |
|
Assigned To | mvwieringen => |
2015-01-26 16:03 |
|
Status | resolved => closed |
2015-01-26 16:03 |
|
Assigned To | => mvwieringen adm |
2015-01-26 16:17 |
|
Assigned To | mvwieringen adm => |
2015-03-25 16:51 | mvwieringen | Changeset attached | => bareos2015 bareos-14.2 647b2617 |
2015-03-25 16:51 | mvwieringen | Note Added: 0001454 | |
2015-03-25 16:51 | mvwieringen | Status | closed => resolved |
2015-03-25 19:19 | joergs | Note Added: 0001608 | |
2015-03-25 19:19 | joergs | Status | resolved => closed |