View Issue Details

IDProjectCategoryView StatusLast Update
0000314bareos-corefile daemonpublic2015-03-25 19:19
Reporterironiq Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
PlatformMicrosoftOSWindowsOS Version2008 and 2012
Summary0000314: On Windows 2008 and Windows 2012 the junction points / links are not backed up properly
DescriptionThe 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 Reproduce1. 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)
TagsNo tags attached.

Activities

mvwieringen

mvwieringen

2014-12-03 17:51

developer   ~0001097

Fix committed to bareos master branch with changesetid 2419.
mvwieringen

mvwieringen

2014-12-12 02:02

developer   ~0001106

Fix committed to bareos bareos-14.2 branch with changesetid 2485.
mvwieringen

mvwieringen

2015-03-25 16:51

developer   ~0001454

Fix committed to bareos2015 bareos-14.2 branch with changesetid 4519.
joergs

joergs

2015-03-25 19:19

developer   ~0001608

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.

Related Changesets

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

Issue History

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 mvwieringen adm Assigned To mvwieringen =>
2015-01-26 16:03 mvwieringen adm Status resolved => closed
2015-01-26 16:03 mvwieringen adm Assigned To => mvwieringen adm
2015-01-26 16:17 mvwieringen adm 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