Windows Home Server Backup Database-Backup (BDBB) 1.0.3.3 released

by Alex Kuretz on September 1, 2010 · 63 comments

in Add-Ins

I’m pleased to announce the release of a new version of the Windows Home Server Backup Database-Backup (BDBB) Add-In. Version 1.0.3.3 includes a couple of new features that I believe you will find useful, as well as an updated user interface to accommodate the new features. Here’s a list of what’s changed in this release.

  • Redesigned user interface, tabs now provide room for new features
  • More documentation within the interface to explain the features of the Add-In, including a warning message that the backup service will be stopped during backup and restore
  • Increased details about each possible network target, including free and total storage space, volume name and drive letter if known
  • Added ability to configure individual Health Notification thresholds for each client computer
  • Added feature to delete the current WHS Backup Database in case of a corrupted DB that Repair is not able to correct
  • Elapsed time is now reported in the user interface after a backup or restore completes
  • Don’t display connected drives with filesystem of type CDFS, such as CD/DVD and some external hard drives that have special read-only partitions such as the HP Simple Save
  • Removed the user prompt to restore Client Registry keys, as this feature is no longer needed since WHS PP2. The registry files are still backed up with each BDBB backup in case the user needs to manually restore
  • Significant code changes “under the hood” to facilitate new features in the future
  • New logo created by http://www.nada-g.com

Long time forum member “cavediver” has been helping me with some private beta testing with his massive DIY Home Server “Andromeda”, and provided the below screenshots. As you can see the backups now live on their own tab, and the screen shots show the additional details displayed for each possible backup target as well as the new “Elapsed time” feature.

The ability to configure the client Health Notification thresholds is a feature that was included in the original version 1.0 Windows Home Server Toolkit from Microsoft, they subsequently removed it in the current version of the Toolkit. This feature allows you to configure when Warning (yellow) and Critical (red) health notifications are generated by your Windows Home Server due to missed client backups. Note that this feature only changes the alert schedules for missed backups, you’ll still get the normal health alert if a backup fails due to some other error such as lost network connection.

This also works great with my Remote Notification Add-In to send you emails or text messages when your Server has a new Health Alert.

In the following example, my system “samurai” is my laptop that I travel with frequently for work and so I’m not worried if it isn’t backed up for a couple of weeks at a time. The client “ninja” could be my college age daughter’s computer that she only backs up when she comes home during breaks from school. All the rest of the systems are set to the default schedules.

I’ve also added a lot of additional text to hopefully provide enough info for a user new to BDBB to be able to figure out what each feature is designed to do, and I’ve updated the BDBB Wiki article as well as the included Readme for users that want the full details. Here’s a shot of the Advanced tab with its additional information and new Delete WHS Backup Database button.

You can download this latest version from the Add-Ins page, be sure to uninstall your current version before installing the new version. Let me know here in the comments or here in the forums how you like the new features in WHS BDBB 1.0.3.3.





Article by

I'm Alex Kuretz, and I'm the founder of MediaSmartServer.net. I was the Lead Test and Integration Engineer at HP for the MediaSmart Server until April 2008 when I moved on to other opportunities outside HP. I've kept active in the Windows Home Server community, creating several add-ins and helping users make the most of their Home Servers.


{ 58 comments }

jam3ohio (jim) September 1, 2010 at 2:27 pm

Alex will I need to delete the current release database when I install this update? Or can I maintain that BDBB history after upgrading?

Jim

Alex Kuretz September 1, 2010 at 2:57 pm

If I’m understanding your question correctly, this version is fully compatible with previous versions.

Charles September 1, 2010 at 4:36 pm

Great tool and article.

Ok after the speech last night can’t help myself.

This is Chasrobin and I approve this article.

Enough politics… :)

jam3ohio (jim) September 1, 2010 at 7:59 pm

Thanks for the clarification, Alex, you answered my question. Installed and I have to say it is a very nice upgrade. Thanks again for your efforts on this one! Oh BTW the WeGotServed links all refer to the old version…may want to update that.

Alex Kuretz September 1, 2010 at 8:17 pm

Thanks Jim! I have been waiting to WGS to post new links so I could update them here to rate the Add-In, I’ll do that shortly.

Tim September 2, 2010 at 12:50 pm

Hi Alex, I use BDBB; however, I do have a question. My backup database is quite large. The system backs up 8 pc’s. Some of the pc’s belong to my children and they tend to leave large temporary files around on their desktop, etc. These then get backed up. Lately, I’ve gotten one of them to understand the impact that this has on the server and the time spent for his pc to perform the backup. These large files could be movies (blu-rays and DVD’s) that already reside on the server. What I would like to do is to delete some of the old individual backups that are taking up excessive space.

Do you know if there is a way to identify for each pc by date, the size of the backup? If I know this, I can look at the large backups to see if they are worth keeping.

My problem is that my backup database is approaching 1tb in size. And, backing this database up is very time consuming.

Alex Kuretz September 2, 2010 at 1:47 pm

Hi Tim, I know what you mean, mine is nearing 600GB. I don’t have a good solution or know of any way to view them, unfortunately. I agree a utility like that could be nice. What you might consider is changing the backup storage defaults to hold less backups, though that can reduce your options if you need to back a while to restore an older backup.

Tim September 2, 2010 at 3:14 pm

Thanks Alex. I made the retention changes earlier today. The server is still “cleaning up database”, but I am already showing at least a 100gb reduction with the changes. I’m sure there are just a couple of the backups that are the true “offenders”. Finding them will take some luck.

Thanks for the response.

RehabMan September 5, 2010 at 11:55 am

Tim… You might try a couple of things:
- View the backups for PCs which you think might be problems WRT large backups (you’re kids’ PCs). Look at the details for the each backup and pay particular attention to the time it took to do the backup. Backups that took more time to complete are generally larger than those that completed quickly.
- You might consider setting up a “Garbage” folder, perhaps residing on the desktop of each PC so it is easily accessible. Then teach your children to place large temp files in that folder instead of elsewhere. Then, configure the backup for those machines to exclude the Garbage folder.

Steve September 2, 2010 at 5:03 pm

Is it possible to selectively backup individual machine backups or specific dates instead of the entire backup database? Thanks in advance.

Alex Kuretz September 2, 2010 at 8:46 pm

Unfortunately no, the backup database is a closed, proprietary format made up of many 4GB files. And due to the Single Instance nature of the WHS backup feature, only a single copy of any file is stored and is referenced in future backups, so even if you could identify the specific backups it would need some real smarts to be able to pull them out of the backup DB.

Steve September 3, 2010 at 6:04 am

Thanks again Alex. Those features would be nice, but I understand the limitations now. Even so, your program fills an important gap in restoring previous backups in case of server fail or backup corruption. Its incredible how much disk space you need when start enabling folder duplication, server folder backups, and finally backup database backups.

Rich October 13, 2010 at 6:57 pm

Do you recommend that folder duplication in WHS be turned off? Currently, I have it set to on. And what are the settings you recommend for months, weeks, and days for backups? I am using the default of 3 all the way down.

I have about 900GB free of 4TB and it seems the duplication of files/folders and the amount of backups is causing me issues when trying to backup to an external drive; it has failed every time.

Any suggestions?

Thanks!

Alex Kuretz October 13, 2010 at 8:59 pm

Hi Rich, I’m surprised to hear that backups to external drives are failing. I suggest you post in the forums, we’ve got a topic in the WHS Add-Ins forum dedicated to this version of BDBB and I can more easily help you troubleshoot there.

I personally don’t use WHS duplication, and as long as you are doing regular (weekly is probably sufficient) BDBB backups then it shouldn’t be necessary unless you have a ton of free space.

I also use the defaults for the days/weeks/months of the WHS backups, I don’t use them for any kind of file versioning, I just keep enough that if a virus were to infect a system, I’d have several different points in time to choose from for restore.

Rich October 14, 2010 at 6:44 am

I made some space available on the external drive and it seemed to work. Although I noticed that it did not copy all of the machines. Is there a reason why it would skip a machine?

Also- do you need to reboot the home server after using the program to get the connector working again?

Thanks!

Alex Kuretz October 14, 2010 at 8:26 am

Does “seemed to work” mean that it reported a successful backup? How are you determining whether it copied all machines or not? I don’t understand what you mean about “getting the connector working again”, what exactly doesn’t work? If the backup service isn’t running, then the backup likely did NOT complete successfully. Rebooting will restart the service.

Matt November 10, 2010 at 8:04 am

Due to a hard drive problem I had to go back from two drives to one temporarily. When this happened, I noticed that the check box for “Enable Duplication for WHS Backups” was now locked in the checked state, and I could not un-check it. I had overlooked un-checking it before removing the second drive from the storage pool. This is probably an unusual use case, but did make me stop and think about why the box was locked in a checked state when I only had a single drive in the pool.

Thanks for the great tool!

Alex Kuretz November 10, 2010 at 8:10 am

Hi Matt, looks like you found a minor bug. :) The checkbox is intended to be grayed out when only a single drive exists, but I didn’t consider the case of a user dropping from multiple drives to a single drive. Fortunately this doesn’t cause any problems, the registry key that is enabled by the checkbox is a directive to WHS to duplicate the WHS backup dir, but if there is only a single drive in the system then WHS will ignore it. Thanks for the feedback!

Paul McDonald December 21, 2010 at 10:30 pm

Alex, I have been using your add-in since the last release and am really happy with it. I am also using the feature to enable duplication for WHS Back-ups. The problem I have is I have 1TB of WHS back-ups and with duplication this is of course 2 TB. This is because I have a couple of different home builds (some now redundant) and have backed-up friends machines that I have built or restored.

I want to reduce the back-up storage usage on my WHS but don’t want to delete the back-ups. I have standalone HDD that I want to store these old PC Back-ups (more like an archive). Then I can remove them from the WHS back-up tab simplifying the interface and reducing my usage and of course reducing the time it takes for me to Back-Up my server to a HDD that I can store off-site.
I had a look at the BDBB folder on my off-site back-up drive and it isn’t obvious to me what files I would need to save from a PC image that I may not need again. (why the paranoia, I lost my wives photos of our Japan trip several years ago, despite having though that I had backed them up.)

Is there a simple way to do this?

Regards Paul

Alex Kuretz December 22, 2010 at 10:00 am

Hi Paul, unfortunately there is no easy way to do what you ask, as the WHS backup database is in a proprietary format. Here’s what you can do:
- Take a full BDBB backup, store it off somewhere.
- Delete all the backups for the PCs you don’t want to archive so you only have archive PCs left.
- Run Backup Cleanup
- Take a BDBB backup of this archive-only backup database
- Restore your original backup DB and delete the now-archived PCs

To recover files from the archive, you’d need to backup your current database first, then restore the archive and get what you want, then restore your current DB again. It’s not the easiest but it should work.

Paul McDonald December 22, 2010 at 12:46 pm

Alex thanks for the prompt response, I understand the approach you have outlined and how it works. Will give it a go.

Al February 3, 2011 at 12:02 am

Thank you for a much needed add-in.

Are there any plans for a schedulable version of this?

I have setup for the BDBB copy to to go a second computer on the LAN, and would like to have this do its thing every Sunday morning at 5 AM. This is well after the backups of the individual computers and would be extremely helpful to a forgetful person such as yours truly.

Hans May 25, 2011 at 5:32 am

Yes, when does a version come which supports Scheduling?

Alex Kuretz May 25, 2011 at 8:32 am

I’ve not done any work on this, and to be honest am not sure I will ever implement it.

Matt May 25, 2011 at 8:25 am

I think I’ve stumbled on a minor bug. I use two identical Seagate 1.5tb expansion drives to store the BDBB and take it off site from our small office. Only one is connected to the server at a time, while the other stays offsite. The two external drives initially had the same name (SERVER BACKUPS), which caused the BDBB Add-in confusion. When I removed the first drive, and added the second, the names of the existing BDBB files from the first persisted, and any attempts to run a new backup produced an error message.
After that I switched the second to a new name, get ready… “SERVER BACKUPS2″. The same behavior continued. Reseting the console does not refresh the saved information for which backup drive was last attached to the server.
The only method I’ve found (not to say that I’ve performed an exhaustive search) is to restart the server. For me this works out to twice a week, not a big deal, but not ideal.
Does anyone see a way around this or have I found a bug?

Alex Kuretz May 25, 2011 at 8:35 am

Matt, yes that’s likely the known caching bug, we’ve got some discussion on it here: http://www.mediasmartserver.net/forums/viewtopic.php?f=10&t=9001&start=137

Giving the drives different names should have resolved the issue. Also, resetting the Server Console should definitely resolve the issue and not require a reboot. Make sure you are not just closing the Server Console as it is a Remote Desktop application and stays running on the server, instead follow this reset procedure:
http://www.mediasmartserver.net/wiki/index.php/Why_is_my_Windows_Home_Server_console_blue%3F

At this time I don’t have a plan for an updated release, but I will address this issue whenever I do get a new release ready.

Mike Snelling September 7, 2011 at 6:53 pm

Hi Alex.
Great little program you’ve written! I’m sure you have heard this before but do you have a way of backing up the SYS drive too? During a full system restore, restoring the SYS drive would be a nice feature.
Thanks…

…Mike

Alex Kuretz September 7, 2011 at 8:03 pm

Thanks, unfortunately it’s not possible to backup and restore the OS image. It is possible to clone the partition if you need to replace the drive: http://www.mediasmartserver.net/forums/viewtopic.php?f=3&t=6826

Mike Snelling September 7, 2011 at 9:34 pm

Alex.
Thanks for the whitepaper. Who would have thought it was so easy?! My server is getting a few years old now and I am thinking proactively, replace all three discs now, BEFORE they fail. I want to replace them with a 500GB SYS drive and two 2TB DATA drives. That should keep me backed up for a while. Thanks for everything – I just stumbled across your site the other day, sure glad I did…

…Mike

Terry September 28, 2011 at 8:21 pm

Alex,

I haven’t had to restore yet. Am doing my first ‘back up’ now. Are you able to ‘browse the backups’ like you can with the actual WHS backups through the console? Or only able to ‘restore’? i.e. I plan to have two drives rotating through for backing up shared folders (through WHS console) and my actual client machine backups (through this add in). In case of disaster and I lose my WHS machine. Do I have to get another machine up and running and then restore the backups you are doing or is simply having the hard drive and connecting it to another machine sufficient? Similar to the WHS shared folder backups where you can just browse the files. Thanks in advance.

Alex Kuretz September 28, 2011 at 8:35 pm

Hi Terry,

The WHS backup database is in a proprietary format, and nobody has fully reverse-engineered the technology enough to build a tool capable of extracting data from the backups. You’ll need to restore the BDBB backup to a working WHS in order to access those backups.

Jorge November 6, 2011 at 7:33 pm

Can you restore this back ups to an new whs install.

Alex Kuretz November 6, 2011 at 8:11 pm

Yes, I describe doing that in this article: http://www.mediasmartserver.net/2010/01/05/manually-migrating-to-a-new-home-server/

The Wiki article also contains info you might find useful.
http://www.mediasmartserver.net/wiki/index.php/WHS_BDBB

Matt November 7, 2011 at 8:00 am

Just to add a second data point, I’ve done it successfully, and then restored a PC from that backup.

Jorge November 7, 2011 at 4:44 pm

Thanks for the fast response, I will give it a try.

Mike Snelling November 6, 2011 at 8:22 pm

Hello Users.
I have a question for anyone reading this post. Does anyone know, or can guess, how long it may take to create a backup of 1.2TB? I have tried several times and I am not waiting long enough or the system locks-ups. The only way to gain control again is to power-off the server; I hate doing that. Clicking CANCEL doesn’t do anything. Oh, and I have waited 6 days before powering down the server. I ASSUMED that would be enough time.
Alex – Maybe in the next release you could include a progress bar. I know, I’m dreaming. What you have come up with is brilliant!
Thanks and I await your relpies…

…Mike

Alex Kuretz November 6, 2011 at 9:12 pm

BDBB does have a progress bar. If it’s locking up then most likely there’s something wrong with your drives or the backup database. You can try the manual process that BDBB automates, it’s in the document from Microsoft linked in the Wiki. http://www.mediasmartserver.net/wiki/index.php/WHS_BDBB

Also try a backup database repair, and try mounting a backup to make sure there’s no issues. Finally you can check the Application event viewer on the server for error messages from BDBB.

Matt November 7, 2011 at 8:13 am

For WHS running on a HP d530CMT business tower, P4 2.8, 512MB ram (or is it 768mb, I can’t remember) using a mixture of IDE and SATA drives, backing up over USB to a Seagate 1.5TB external HDD, backups almost always run at an average rate of ~100 GB per hour. I’ve done this twice a week for 8 months using different hard drives (had a WD ‘green’ AFD storage drive fail somewhere in there and corrupt the PC images so that restoring a PC would fail even though the server seemed ok) with the total backup size ranging from 300GB to 750GB with nearly the same result. ~100 GB/Hr.

Matt November 7, 2011 at 8:19 am

About the progress bar, while it does not seem to be perfectly linear with the total backup time, it works quite well and provides good guidance as to where you are at in the process. Nice work Alex!

Alex Kuretz November 7, 2011 at 8:29 am

Thanks for the feedback. The progress bars updates at the completion of every 4GB file copy, unfortunately it’s not possible to get a higher granularity unless I write my own buffered file copy routines.

Matt November 7, 2011 at 8:45 am

It is the last 15% or so that has caught my attention. I’ve often seen the process sit around 80-85% complete for some time, and then jump to 99% or 100% without steps in between. On the other hand, I have seen runs where this is not the case. 4GB should be less than 1% for any BDBB over 400GB, no need to cut it into narrower slices than that.

Matt November 7, 2011 at 4:06 pm

Alex, To put some better numbers on it, my backup today ran for ~6h 15m, and was 527 GB, a little under the 100 GB/hr I mentioned before. I happened to look in on the progress about 20-30 minutes before it finished and saw the progress bar at 68%. Leaving the window open showed the last 30% of progress finished quite rapidly compared with the 5h+ it took to get to 68%. Non-linear, but not worth worrying about in the least. It is a great tool! We threw out copies of Symantec’s Backup exec once we had given the BDBB with WHS a full shakedown for our SOHO environment. Not to mention we found that the other product was the source of some minor nagging issues in other places.

Mike Snelling November 7, 2011 at 7:32 pm

Hi Guys.
Well, I did a database repair and it said it was succesful. I felt so good about that I decided to do the backup as discribed by Microsoft, as pointed out by Alex. So I do the procedures and leave the computer for about one and a half hours. I then return to the server, via RDT connection, and I see it has locked up again. I have no control over it at all. Before I power-down the server I thought I would post this first for any ideas, opionions?? Could it be something as silly as the screen saver locking it up? or perhasps it hibernates after a while? I just don’t know why this computer won’t allow a database backup. I’m all ears (eyes), guys…

…Mike

Matt November 8, 2011 at 8:05 am

Sorry Mike, The only headaches I’ve had along that line where bringing new PC’s into the pool which had several drives (meaning the PC’s). I would have to re-run drive by drive until all had succeeded. In your shoes, I would wipe the server clean and start with a fresh WHS install after a few more failed attempts. Frustrating.

Alex Kuretz November 8, 2011 at 8:13 am

What are you backing up to? An attached drive? If it has issues that could be locking up the server. Another way to test the integrity of the backup database is to try an open a backup for single file restore, just to make sure the backup opens on the client PC.

Also get the Home Server SMART Add-In to check if your server drives are reporting any errors.

Matt November 8, 2011 at 8:17 am

Mike, Do consider Alex’s comment about a bad drive. I had a WD green AFD drive report a bad sector. After a ‘successful repair’ I could not get a good backup off of that drive, even when all of the indicators said they were ok. I tried to restore three separate times after rebuilds and always failed half way through the PC restore. My take away was (though maybe a bit short sighted) that once a drive in the pool throws an error, expect that the pool has been compromised. I took the drive out and used it in another PC successfully, but it lost my confidence for WHS use.

Mike Snelling November 8, 2011 at 9:07 am

Thanks for the ideas, guys.
Alex; I am backing up to an external USB 2TB drive enclosure. I have noticed that when the system locks up, the indicator light on the drive goes out as well, so maybe it is that destination drive I should be testing.
Matt; my server is over three years old now. That’s why my concern about backup. Once, if, I get a good backup I will replace all drives.
Thanks again guys…

…Mike

Mike Snelling November 12, 2011 at 11:24 am

Hi again, guys.
Well I have looked into things now and I have discovered I had two issues. The first is that the destination drive enclosure was faulty, not the drive. I replaced the enclosure and it would operate without the indication light going out a few minutes into the copy command. With that working it showed the second problem. That is with the DATA drive in the server, bad sector(s). I have run the database repair, in WHS, and also Windows own CHKDKS /R several times. Both say the finished sucsussfully and reported no errors. When I try to copy the database to the enclosure drive I repeatedly get the same error message: CANNOT COPY DATA.4096.133.DAT ERROR (CYCLIC REDUNDANCY CHECK). Sure enough everytime I try to copy it, it hangs at that file. So, my new question is if you guys know of any work around? I’m sure that if I delete that file it will leave a whole in the database, thus destroying the backup.
Thanks for reading and I await any replies…

…Mike

Alex Kuretz November 12, 2011 at 2:09 pm

Have you done as I previously suggested and tried opening a backup for single file restore? That is the best way to verify backup database integrity. If you can’t open a backup, then the DB is useless and you should delete it and start over.

Mike Snelling November 12, 2011 at 2:15 pm

Alex. Yes, I have done that and restored a few files but there’s no way of knowing what file of what computer to restore. In that database there is 4 different computers backed up to it. I would amagine that whatever files are in that corrupted sector won’t restore but others should, wouldn’t they?

…Mike

Alex Kuretz November 13, 2011 at 9:16 pm

From my experience that usually indicates the backup DB is ok, though you’re right that you may have trouble restoring anything from that specific bad file of the backup database. I’m afraid I don’t have any suggestions, if the file is corrupt then it’s corrupt. You could try deleting historical backups from the backup DB and see if you get lucky and the bad file is purged.

Jim Zoes December 13, 2011 at 3:03 pm

I had a motherboard failure on my old 475 server. HP has no replacement parts for it, so I extracted the drives, installed them in enclosures. How can I merge in (or recover) the old back up data from the enclosures. The document “Technical Brief, Home Computer Backup and Restore” (dated 8/2008) tells how to repace the “{00008086….” folder with the one on the old drives, but says that there is no way to merge the two.

Anyway to achieve this?

Alex Kuretz December 14, 2011 at 9:06 am

There’s no way to merge backup databases.

Riyaz May 14, 2012 at 11:56 am

I may have potentially lost my backups already:-(. I’ve been at this for over 3 months now. Wanted to go slow and cautiously. It all started when I decided to upgrade my WHSv1 to WHS2011. I have a dell PowerEdge sc440 that I’ve used as a WHS. I started by moving all my shared folders to another computer. The challenge was to preserve the client backups. I didn’t want to loose them. I found BDBB and it was what I was looking for. Backed up the client database to a “new drive”. Made 2 backups, one in Feb and the next in Apr. Moved the BDBB drive to another computer and made it sharable. Installed fresh new drives into my server, and installed WHS2011. Then installed WHSv1 in VirtualBox VM. For some reason I was not able to complete the restore of my client backups into my WHSv1 in the VM. Then I did something stupid, I reinstalled the old WHSv1 drives back into the server and performed a restore. The restore took a long time but seems to have completed successfully. But when I select “View Backup” for any computer in “Computers & Backup” I don’t see anything. The disk space for the backups is about 600GB, so there is something there. I would do anything to get my backups back. Please suggest something that will help…
thanks

Alex Kuretz May 14, 2012 at 12:51 pm

You’d be better off posting in the Troubleshooting forum, it’s easier to converse and more of the community can participate.

I’d try and restore your BDBB backup again, and post if you see any error messages.

Riyaz May 15, 2012 at 7:43 pm

Alex, thanks for your response. This time I made sure that the VM was fully updated to the same version as the old WHSv1 and then the restore took about 14 hours but finished and made me happy. Thanks for writing this tool:-). I’m so glad that I didn’t loose my backups after all…

Matt January 14, 2013 at 11:17 am

A while ago I put some number on backup speed since I backup from WHSv1 to an external USB 2.0 HDD 2x per week. I just rebuilt our WHS with the same board (HP d530CMT) but new drives, 1x 500GB PATA IDE WesternDigital OS drive, 2x 2TB Western Digital Caviar Black data drives (2002FAEX). It was a jumble of whatever was on hand when capacity was needed.

Our PC backups pool is now 1.1-1.2TB and takes 13-14 hours to backup to the external drive. I also restored the last backup prior to the rebuild successfully, in about the same amount of time. Hope it helps set expectations for anyone who is experimenting.

Alex Kuretz November 7, 2011 at 4:18 pm

Thanks for the additional details, and I’m glad the Add-In is working well for you!

Comments are closed, visit the forums to continue the discussion.

{ 5 trackbacks }

Previous post:

Next post: