diff --git a/blog/After_6_years_of_waiting__the_Xreset_d_feature_is_implemented.html b/blog/After_6_years_of_waiting__the_Xreset_d_feature_is_implemented.html
index 21fe22e44a..fbea86c833 100644
--- a/blog/After_6_years_of_waiting__the_Xreset_d_feature_is_implemented.html
+++ b/blog/After_6_years_of_waiting__the_Xreset_d_feature_is_implemented.html
@@ -71,7 +71,7 @@ similar to how they use the Xsession.d framework today.
diff --git a/blog/Automatic_Munin_and_Nagios_configuration.html b/blog/Automatic_Munin_and_Nagios_configuration.html
index a22188df0c..8e15a1b441 100644
--- a/blog/Automatic_Munin_and_Nagios_configuration.html
+++ b/blog/Automatic_Munin_and_Nagios_configuration.html
@@ -98,7 +98,7 @@ everything is taken care of.
diff --git a/blog/Avisene_i_endring.html b/blog/Avisene_i_endring.html
index 469ea64def..8a6d707ffd 100644
--- a/blog/Avisene_i_endring.html
+++ b/blog/Avisene_i_endring.html
@@ -59,7 +59,7 @@ eksisterer. Det blir spennende å se hva vi ender opp med.
Just got an email from Tobias Gruetzmacher as a followup on my
+previous
+post about sshfs. He reported another problem with sshfs. It
+fail to handle hard links properly. A simple way to spot this is to
+look at the . and .. entries in the directory tree. These should have
+a link count >1, but on sshfs the count is 1. I just tested to see
+what happen when trying to hardlink, and this fail as well:
+
+
+% ln foo bar
+ln: creating hard link `bar' => `foo': Function not implemented
+%
+
+
+
I have not yet found time to implement a test for this in my file
+system test code, but believe having working hard links is useful to
+avoid surprised unix programs. Not as useful as working file locking
+and symlinks, which are required to get a working desktop, but useful
+nevertheless. :)
+
+
diff --git a/blog/Broken_umask_handling_with_sshfs.html b/blog/Broken_umask_handling_with_sshfs.html
index aabaf5ffcc..30bc0baab3 100644
--- a/blog/Broken_umask_handling_with_sshfs.html
+++ b/blog/Broken_umask_handling_with_sshfs.html
@@ -152,7 +152,7 @@ script so useful that he created a GIT repository and stored it in
diff --git a/blog/Debian_Edu___Skolelinux_based_on_Lenny_released__work_continues.html b/blog/Debian_Edu___Skolelinux_based_on_Lenny_released__work_continues.html
index 645de1c72e..ff52d8fee8 100644
--- a/blog/Debian_Edu___Skolelinux_based_on_Lenny_released__work_continues.html
+++ b/blog/Debian_Edu___Skolelinux_based_on_Lenny_released__work_continues.html
@@ -67,7 +67,7 @@ and have just a few weeks or months to make it happen.
diff --git a/blog/Debian_boots_quicker_and_quicker.html b/blog/Debian_boots_quicker_and_quicker.html
index b4e8a7af0b..c084a8b091 100644
--- a/blog/Debian_boots_quicker_and_quicker.html
+++ b/blog/Debian_boots_quicker_and_quicker.html
@@ -99,7 +99,7 @@ insserv'. Will need to test if that work. :)
diff --git a/blog/Digitale_b__ker_uten_digitale_restriksjonsmekanismer__DRM__b__r_f___mva_fritak.html b/blog/Digitale_b__ker_uten_digitale_restriksjonsmekanismer__DRM__b__r_f___mva_fritak.html
index c97f2216b9..4c5e28e9c6 100644
--- a/blog/Digitale_b__ker_uten_digitale_restriksjonsmekanismer__DRM__b__r_f___mva_fritak.html
+++ b/blog/Digitale_b__ker_uten_digitale_restriksjonsmekanismer__DRM__b__r_f___mva_fritak.html
@@ -84,7 +84,7 @@ der for å se hva de har.
diff --git a/blog/Digitale_restriksjonsmekanismer_fikk_meg_til____slutte____kj__pe_musikk.html b/blog/Digitale_restriksjonsmekanismer_fikk_meg_til____slutte____kj__pe_musikk.html
index 8432226e7c..ad1328c5ae 100644
--- a/blog/Digitale_restriksjonsmekanismer_fikk_meg_til____slutte____kj__pe_musikk.html
+++ b/blog/Digitale_restriksjonsmekanismer_fikk_meg_til____slutte____kj__pe_musikk.html
@@ -76,7 +76,7 @@ Kommer neppe til å ta i bruk Blueray, og ei heller de nye DRM-greiene
diff --git a/blog/FAD_lanserer_reiseregningsskjema_som_fri_programvare.html b/blog/FAD_lanserer_reiseregningsskjema_som_fri_programvare.html
index 3ada3e7a24..a10c78f029 100644
--- a/blog/FAD_lanserer_reiseregningsskjema_som_fri_programvare.html
+++ b/blog/FAD_lanserer_reiseregningsskjema_som_fri_programvare.html
@@ -130,7 +130,7 @@ gjorde det litt vanskeligere for brukeren.
diff --git a/blog/F__rste_NUUG_fordrag_sendt_p___TV.html b/blog/F__rste_NUUG_fordrag_sendt_p___TV.html
index cd693740f6..9800484712 100644
--- a/blog/F__rste_NUUG_fordrag_sendt_p___TV.html
+++ b/blog/F__rste_NUUG_fordrag_sendt_p___TV.html
@@ -70,7 +70,7 @@ meg, Tollef og alle andre de som deltok på møtet på TV.
diff --git a/blog/Fiksgatami_begynner____ta_form.html b/blog/Fiksgatami_begynner____ta_form.html
index c82da8e529..e006248a67 100644
--- a/blog/Fiksgatami_begynner____ta_form.html
+++ b/blog/Fiksgatami_begynner____ta_form.html
@@ -71,7 +71,7 @@ med dem. Dette blir bra.
diff --git a/blog/Fildeling_er_lovlig___ulovlig_fildeling_er_ulovlig.html b/blog/Fildeling_er_lovlig___ulovlig_fildeling_er_ulovlig.html
index de8a61fb10..21a111f33c 100644
--- a/blog/Fildeling_er_lovlig___ulovlig_fildeling_er_ulovlig.html
+++ b/blog/Fildeling_er_lovlig___ulovlig_fildeling_er_ulovlig.html
@@ -69,7 +69,7 @@ og fildeling av slike filer er fullt ut lovlig.
diff --git a/blog/Frikanalen_og_jul_i_studentr__det.html b/blog/Frikanalen_og_jul_i_studentr__det.html
index 5559a3ac77..87326b424a 100644
--- a/blog/Frikanalen_og_jul_i_studentr__det.html
+++ b/blog/Frikanalen_og_jul_i_studentr__det.html
@@ -92,7 +92,7 @@ NUUG lykkes med å få ut sine opptak med like stor suksess.
diff --git a/blog/Hva_er_egentlig_en___pen_standard_.html b/blog/Hva_er_egentlig_en___pen_standard_.html
index be64a5f0ae..12a8659d88 100644
--- a/blog/Hva_er_egentlig_en___pen_standard_.html
+++ b/blog/Hva_er_egentlig_en___pen_standard_.html
@@ -151,7 +151,7 @@ av en standard for at en standard skal kunne kalles fri og åpen.
diff --git a/blog/Hvorfor_jeg_ikke_bruker_eFaktura.html b/blog/Hvorfor_jeg_ikke_bruker_eFaktura.html
index 073f678206..505bd52b41 100644
--- a/blog/Hvorfor_jeg_ikke_bruker_eFaktura.html
+++ b/blog/Hvorfor_jeg_ikke_bruker_eFaktura.html
@@ -81,7 +81,7 @@ liker rett og slett ikke dagens faktureringsmodeller.
diff --git a/blog/IDG_mener_linux_i_servermarkedet_vil_vokse_med_21__i_2009.html b/blog/IDG_mener_linux_i_servermarkedet_vil_vokse_med_21__i_2009.html
index ac4aad3cac..c69e22d43c 100644
--- a/blog/IDG_mener_linux_i_servermarkedet_vil_vokse_med_21__i_2009.html
+++ b/blog/IDG_mener_linux_i_servermarkedet_vil_vokse_med_21__i_2009.html
@@ -61,7 +61,7 @@ bakgrunnskunnskapen kan jeg godt tro at IDG er inne på noe.
diff --git a/blog/Idea_for_storing_LTSP_configuration_in_LDAP.html b/blog/Idea_for_storing_LTSP_configuration_in_LDAP.html
index 0d2e61e3e9..3bdbf656c2 100644
--- a/blog/Idea_for_storing_LTSP_configuration_in_LDAP.html
+++ b/blog/Idea_for_storing_LTSP_configuration_in_LDAP.html
@@ -127,7 +127,7 @@ personal home page over at redhat.com.
diff --git a/blog/Internet_leverand__rer_er_ikke_vokterne_av_sine_kunders_nettbruk.html b/blog/Internet_leverand__rer_er_ikke_vokterne_av_sine_kunders_nettbruk.html
index 92f8296910..4f689d425f 100644
--- a/blog/Internet_leverand__rer_er_ikke_vokterne_av_sine_kunders_nettbruk.html
+++ b/blog/Internet_leverand__rer_er_ikke_vokterne_av_sine_kunders_nettbruk.html
@@ -77,7 +77,7 @@ publiseres med mer brukervennlige vilkår, som CC-BY og lignende.
diff --git a/blog/KDM_fail_at_boot_with_NVidia_cards___and_no_one_try_to_fix_it_.html b/blog/KDM_fail_at_boot_with_NVidia_cards___and_no_one_try_to_fix_it_.html
index ac94e852dc..6deb846619 100644
--- a/blog/KDM_fail_at_boot_with_NVidia_cards___and_no_one_try_to_fix_it_.html
+++ b/blog/KDM_fail_at_boot_with_NVidia_cards___and_no_one_try_to_fix_it_.html
@@ -76,7 +76,7 @@ but I am pretty sure that waiting for each other is not it.
diff --git a/blog/Kerberos_for_Debian_Edu_Squeeze_.html b/blog/Kerberos_for_Debian_Edu_Squeeze_.html
index 409e7e9447..0031cf191b 100644
--- a/blog/Kerberos_for_Debian_Edu_Squeeze_.html
+++ b/blog/Kerberos_for_Debian_Edu_Squeeze_.html
@@ -89,7 +89,7 @@ up in a few days.
diff --git a/blog/Korrupsjon_p___h__yeste_niv___.html b/blog/Korrupsjon_p___h__yeste_niv___.html
index c60930a33c..7773904403 100644
--- a/blog/Korrupsjon_p___h__yeste_niv___.html
+++ b/blog/Korrupsjon_p___h__yeste_niv___.html
@@ -69,7 +69,7 @@ Sverige blir søndagskolefortellinger i sammenligning.
diff --git a/blog/LUMA__a_very_nice_LDAP_GUI.html b/blog/LUMA__a_very_nice_LDAP_GUI.html
index 8cd0710274..876edda9db 100644
--- a/blog/LUMA__a_very_nice_LDAP_GUI.html
+++ b/blog/LUMA__a_very_nice_LDAP_GUI.html
@@ -83,7 +83,7 @@ changes, it will not be an option for Debian Edu based on Squeeze.
diff --git a/blog/Litt_om_valgfusk_og_problemet_med_elektronisk_stemmegiving.html b/blog/Litt_om_valgfusk_og_problemet_med_elektronisk_stemmegiving.html
index be38292de3..49ec1c4f1e 100644
--- a/blog/Litt_om_valgfusk_og_problemet_med_elektronisk_stemmegiving.html
+++ b/blog/Litt_om_valgfusk_og_problemet_med_elektronisk_stemmegiving.html
@@ -82,7 +82,7 @@ inneholdt i Iran hvis de ikke hadde hemmelige valg?
diff --git a/blog/Magnetstripeinnhold_i_billetter_fra_Flytoget_og_Hurtigruten.html b/blog/Magnetstripeinnhold_i_billetter_fra_Flytoget_og_Hurtigruten.html
index bc3e532292..4ea82c142d 100644
--- a/blog/Magnetstripeinnhold_i_billetter_fra_Flytoget_og_Hurtigruten.html
+++ b/blog/Magnetstripeinnhold_i_billetter_fra_Flytoget_og_Hurtigruten.html
@@ -107,7 +107,7 @@ ser jeg mye korrespondanse mellom påtrykk og magnetstripe.
diff --git a/blog/Norge_trenger_en_personvernforening.html b/blog/Norge_trenger_en_personvernforening.html
index a7ea77b31f..5561236e07 100644
--- a/blog/Norge_trenger_en_personvernforening.html
+++ b/blog/Norge_trenger_en_personvernforening.html
@@ -66,7 +66,7 @@ nå får vi se om noen er enig.
diff --git a/blog/Opphavet_til_Skolelinux_prosjektet.html b/blog/Opphavet_til_Skolelinux_prosjektet.html
index fda9f0d8c4..c47c342bdd 100644
--- a/blog/Opphavet_til_Skolelinux_prosjektet.html
+++ b/blog/Opphavet_til_Skolelinux_prosjektet.html
@@ -81,7 +81,7 @@ Resten er historie. :)
diff --git a/blog/Parallellized_boot_is_now_the_default_in_Debian_unstable.html b/blog/Parallellized_boot_is_now_the_default_in_Debian_unstable.html
index 76a6efe6d9..8a67905a1d 100644
--- a/blog/Parallellized_boot_is_now_the_default_in_Debian_unstable.html
+++ b/blog/Parallellized_boot_is_now_the_default_in_Debian_unstable.html
@@ -79,7 +79,7 @@ list of usertagged bugs related to this.
diff --git a/blog/Parallellized_boot_seem_to_hold_up_well_in_Debian_testing.html b/blog/Parallellized_boot_seem_to_hold_up_well_in_Debian_testing.html
index 6a185cec46..64a9d3c371 100644
--- a/blog/Parallellized_boot_seem_to_hold_up_well_in_Debian_testing.html
+++ b/blog/Parallellized_boot_seem_to_hold_up_well_in_Debian_testing.html
@@ -92,7 +92,7 @@ list of usertagged bugs related to this.
diff --git a/blog/Parallellizing_the_boot_in_Debian_Squeeze___ready_for_wider_testing.html b/blog/Parallellizing_the_boot_in_Debian_Squeeze___ready_for_wider_testing.html
index ba36bedd97..9e5eef96be 100644
--- a/blog/Parallellizing_the_boot_in_Debian_Squeeze___ready_for_wider_testing.html
+++ b/blog/Parallellizing_the_boot_in_Debian_Squeeze___ready_for_wider_testing.html
@@ -88,7 +88,7 @@ list of usertagged bugs related to this.
diff --git a/blog/Regjerningen_forlater_prinsippet_om_ingen_royalty_betaling_i_standardkatalogen_versjon_2.html b/blog/Regjerningen_forlater_prinsippet_om_ingen_royalty_betaling_i_standardkatalogen_versjon_2.html
index 544bb46892..4a93988dfe 100644
--- a/blog/Regjerningen_forlater_prinsippet_om_ingen_royalty_betaling_i_standardkatalogen_versjon_2.html
+++ b/blog/Regjerningen_forlater_prinsippet_om_ingen_royalty_betaling_i_standardkatalogen_versjon_2.html
@@ -82,7 +82,7 @@ høringsuttalelse, men ser ut til å ha blitt ignorert.
diff --git a/blog/Reprap_bygging_i_p__sken.html b/blog/Reprap_bygging_i_p__sken.html
index c853c199cb..c7ac6af37d 100644
--- a/blog/Reprap_bygging_i_p__sken.html
+++ b/blog/Reprap_bygging_i_p__sken.html
@@ -106,7 +106,7 @@ kommer til å bruke denne plasttypen som håndterer temperaturer mellom
diff --git a/blog/Reprap_pakke_tapt_i_posten.html b/blog/Reprap_pakke_tapt_i_posten.html
index 56f6778579..ee8f2a3316 100644
--- a/blog/Reprap_pakke_tapt_i_posten.html
+++ b/blog/Reprap_pakke_tapt_i_posten.html
@@ -62,7 +62,7 @@ lenge alt er klart til Go Open
diff --git a/blog/Robot__reis_deg___.html b/blog/Robot__reis_deg___.html
index 4c9074c514..1fbef710f9 100644
--- a/blog/Robot__reis_deg___.html
+++ b/blog/Robot__reis_deg___.html
@@ -91,7 +91,7 @@ der hvis du er nysgjerrig.
diff --git a/blog/Sikkerhet_til_sj__s_trenger_sj__kart_uten_bruksbegresninger.html b/blog/Sikkerhet_til_sj__s_trenger_sj__kart_uten_bruksbegresninger.html
index 447d364e55..a5516c5e7b 100644
--- a/blog/Sikkerhet_til_sj__s_trenger_sj__kart_uten_bruksbegresninger.html
+++ b/blog/Sikkerhet_til_sj__s_trenger_sj__kart_uten_bruksbegresninger.html
@@ -106,7 +106,7 @@ det viser at behovet for fribruks-sjøkart er til stedet.
diff --git a/blog/Sikkerhetsteateret_p___flyplassene_fortsetter.html b/blog/Sikkerhetsteateret_p___flyplassene_fortsetter.html
index e843a350c9..2bb2181133 100644
--- a/blog/Sikkerhetsteateret_p___flyplassene_fortsetter.html
+++ b/blog/Sikkerhetsteateret_p___flyplassene_fortsetter.html
@@ -82,7 +82,7 @@ en god ting sett fra et miljøperspektiv, men det er en annen sak.
diff --git a/blog/Standardize_on_protocols_and_formats__not_vendors_and_applications.html b/blog/Standardize_on_protocols_and_formats__not_vendors_and_applications.html
index bc1a0933a2..fb78692177 100644
--- a/blog/Standardize_on_protocols_and_formats__not_vendors_and_applications.html
+++ b/blog/Standardize_on_protocols_and_formats__not_vendors_and_applications.html
@@ -78,7 +78,7 @@ application that do not use open network protocol or open formats.
diff --git a/blog/Taking_over_sysvinit_development.html b/blog/Taking_over_sysvinit_development.html
index 906c8bf343..d3ba234ec3 100644
--- a/blog/Taking_over_sysvinit_development.html
+++ b/blog/Taking_over_sysvinit_development.html
@@ -75,7 +75,7 @@ distributions are moving to upstart as a syvinit replacement.
diff --git a/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html b/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html
index bfa739d9cb..153b344a02 100644
--- a/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html
+++ b/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html
@@ -276,7 +276,7 @@ script so useful that he created a GIT repository and stored it in
diff --git a/blog/The_sorry_state_of_multimedia_browser_plugins_in_Debian.html b/blog/The_sorry_state_of_multimedia_browser_plugins_in_Debian.html
index 427c315636..e40c9ab89d 100644
--- a/blog/The_sorry_state_of_multimedia_browser_plugins_in_Debian.html
+++ b/blog/The_sorry_state_of_multimedia_browser_plugins_in_Debian.html
@@ -71,7 +71,7 @@ be the only one fitting our needs. :/
diff --git a/blog/Vitenskapens_dogmer___.html b/blog/Vitenskapens_dogmer___.html
index 1438d5e05b..31c59ad0e6 100644
--- a/blog/Vitenskapens_dogmer___.html
+++ b/blog/Vitenskapens_dogmer___.html
@@ -121,7 +121,7 @@ skyskrapere. Takke meg til en tur til månen.
diff --git a/blog/When_web_browser_developers_make_a_video_player___.html b/blog/When_web_browser_developers_make_a_video_player___.html
index 21f06f69ce..1c77c83a18 100644
--- a/blog/When_web_browser_developers_make_a_video_player___.html
+++ b/blog/When_web_browser_developers_make_a_video_player___.html
@@ -95,7 +95,7 @@ sure hope it was using the announced Ogg Theora support. :)
diff --git a/blog/archive/2008/11/index.html b/blog/archive/2008/11/index.html
index 20c0977458..cd6d27d068 100644
--- a/blog/archive/2008/11/index.html
+++ b/blog/archive/2008/11/index.html
@@ -216,7 +216,7 @@ lenge alt er klart til Go Open
diff --git a/blog/archive/2009/03/index.html b/blog/archive/2009/03/index.html
index 6a31e604a6..9faf1413ad 100644
--- a/blog/archive/2009/03/index.html
+++ b/blog/archive/2009/03/index.html
@@ -716,7 +716,7 @@ application that do not use open network protocol or open formats.
diff --git a/blog/archive/2009/08/index.html b/blog/archive/2009/08/index.html
index f10442c3b1..dd8d8fd259 100644
--- a/blog/archive/2009/08/index.html
+++ b/blog/archive/2009/08/index.html
@@ -229,7 +229,7 @@ det viser at behovet for fribruks-sjøkart er til stedet.
diff --git a/blog/archive/2010/02/index.html b/blog/archive/2010/02/index.html
index 5bb0f0fffc..95b1ca4524 100644
--- a/blog/archive/2010/02/index.html
+++ b/blog/archive/2010/02/index.html
@@ -82,7 +82,7 @@ and have just a few weeks or months to make it happen.
diff --git a/blog/archive/2010/05/index.html b/blog/archive/2010/05/index.html
index 10de50a693..426b5a73ae 100644
--- a/blog/archive/2010/05/index.html
+++ b/blog/archive/2010/05/index.html
@@ -617,7 +617,7 @@ list of usertagged bugs related to this.
diff --git a/blog/archive/2010/06/index.html b/blog/archive/2010/06/index.html
index 130e3a0acd..b1766d1fa3 100644
--- a/blog/archive/2010/06/index.html
+++ b/blog/archive/2010/06/index.html
@@ -1016,7 +1016,7 @@ changes, it will not be an option for Debian Edu based on Squeeze.
diff --git a/blog/archive/2010/08/08.rss b/blog/archive/2010/08/08.rss
index b654ccc622..0340f0b6fd 100644
--- a/blog/archive/2010/08/08.rss
+++ b/blog/archive/2010/08/08.rss
@@ -776,5 +776,37 @@ en god ting sett fra et miljøperspektiv, men det er en annen sak.</p>
+
+ Broken hard link handling with sshfs
+ http://people.skolelinux.org/pere/blog/Broken_hard_link_handling_with_sshfs.html
+ http://people.skolelinux.org/pere/blog/Broken_hard_link_handling_with_sshfs.html
+ Mon, 30 Aug 2010 19:30:00 +0200
+
+<p>Just got an email from Tobias Gruetzmacher as a followup on my
+<a href="http://people.skolelinux.org/pere/blog/Broken_umask_handling_with_sshfs.html">previous
+post about sshfs</a>. He reported another problem with sshfs. It
+fail to handle hard links properly. A simple way to spot this is to
+look at the . and .. entries in the directory tree. These should have
+a link count >1, but on sshfs the count is 1. I just tested to see
+what happen when trying to hardlink, and this fail as well:</p>
+
+<pre>
+% ln foo bar
+ln: creating hard link `bar' => `foo': Function not implemented
+%
+</pre>
+
+<p>I have not yet found time to implement a test for this in my file
+system test code, but believe having working hard links is useful to
+avoid surprised unix programs. Not as useful as working file locking
+and symlinks, which are required to get a working desktop, but useful
+nevertheless. :)</p>
+
+<p>The latest version of the file system test code is available via
+git from
+<a href="http://github.com/gebi/fs-test">http://github.com/gebi/fs-test</a></p>
+
+
+
diff --git a/blog/archive/2010/08/index.html b/blog/archive/2010/08/index.html
index 20531c1cff..ba4d7c5cd1 100644
--- a/blog/archive/2010/08/index.html
+++ b/blog/archive/2010/08/index.html
@@ -933,6 +933,51 @@ en god ting sett fra et miljøperspektiv, men det er en annen sak.
+
Just got an email from Tobias Gruetzmacher as a followup on my
+previous
+post about sshfs. He reported another problem with sshfs. It
+fail to handle hard links properly. A simple way to spot this is to
+look at the . and .. entries in the directory tree. These should have
+a link count >1, but on sshfs the count is 1. I just tested to see
+what happen when trying to hardlink, and this fail as well:
+
+
+% ln foo bar
+ln: creating hard link `bar' => `foo': Function not implemented
+%
+
+
+
I have not yet found time to implement a test for this in my file
+system test code, but believe having working hard links is useful to
+avoid surprised unix programs. Not as useful as working file locking
+and symlinks, which are required to get a working desktop, but useful
+nevertheless. :)
diff --git a/blog/data/2010-08-30-fs-sematics.txt b/blog/data/2010-08-30-fs-sematics.txt
new file mode 100644
index 0000000000..e1fadebdcd
--- /dev/null
+++ b/blog/data/2010-08-30-fs-sematics.txt
@@ -0,0 +1,27 @@
+Title: Broken hard link handling with sshfs
+Tags: english, nuug, debian edu
+Date: 2010-08-30 19:30
+
+
Just got an email from Tobias Gruetzmacher as a followup on my
+previous
+post about sshfs. He reported another problem with sshfs. It
+fail to handle hard links properly. A simple way to spot this is to
+look at the . and .. entries in the directory tree. These should have
+a link count >1, but on sshfs the count is 1. I just tested to see
+what happen when trying to hardlink, and this fail as well:
+
+
+% ln foo bar
+ln: creating hard link `bar' => `foo': Function not implemented
+%
+
+
+
I have not yet found time to implement a test for this in my file
+system test code, but believe having working hard links is useful to
+avoid surprised unix programs. Not as useful as working file locking
+and symlinks, which are required to get a working desktop, but useful
+nevertheless. :)
Just got an email from Tobias Gruetzmacher as a followup on my
+previous
+post about sshfs. He reported another problem with sshfs. It
+fail to handle hard links properly. A simple way to spot this is to
+look at the . and .. entries in the directory tree. These should have
+a link count >1, but on sshfs the count is 1. I just tested to see
+what happen when trying to hardlink, and this fail as well:
+
+
+% ln foo bar
+ln: creating hard link `bar' => `foo': Function not implemented
+%
+
+
+
I have not yet found time to implement a test for this in my file
+system test code, but believe having working hard links is useful to
+avoid surprised unix programs. Not as useful as working file locking
+and symlinks, which are required to get a working desktop, but useful
+nevertheless. :)
A few days ago, I
-tried
-to install a Roaming workation profile from Debian Edu/Squeeze
-while on the university network here at the University of Oslo, and
-noticed how much had to change to get it operational using the
-university infrastructure. It was fairly easy, but it occured to me
-that Debian Edu would improve a lot if I could get the client to
-connect without any changes at all, and thus let the client configure
-itself during installation and first boot to use the infrastructure
-around it. Now I am a huge step further along that road.
-
-
With our current squeeze-test packages, I can select the roaming
-workstation profile and get a working laptop connecting to the
-university LDAP server for user and group and our active directory
-servers for Kerberos authentication. All this without any
-configuration at all during installation. My users home directory got
-a bookmark in the KDE menu to mount it via SMB, with the correct URL.
-In short, openldap and sssd is correctly configured. In addition to
-this, the client look for http://wpad/wpad.dat to configure a web
-proxy, and when it fail to find it no proxy settings are stored in
-/etc/environment and /etc/apt/apt.conf. Iceweasel and KDE is
-configured to look for the same wpad configuration and also do not use
-a proxy when at the university network. If the machine is moved to a
-network with such wpad setup, it would automatically use it when DHCP
-gave it a IP address.
-
-
The LDAP server is located using DNS, by first looking for the DNS
-entry ldap.$domain. If this do not exist, it look for the
-_ldap._tcp.$domain SRV records and use the first one as the LDAP
-server. Next, it connects to the LDAP server and search all
-namingContexts entries for posixAccount or posixGroup objects, and
-pick the first one as the LDAP base. For Kerberos, a similar
-algorithm is used to locate the LDAP server, and the realm is the
-uppercase version of $domain.
-
-
So, what is not working, you might ask. SMB mounting my home
-directory do not work. No idea why, but suspected the incorrect
-Kerberos settings in /etc/krb5.conf and /etc/samba/smb.conf might be
-the cause. These are not properly configured during installation, and
-had to be hand-edited to get the correct Kerberos realm and server,
-but SMB mounting still do not work. :(
-
-
With this automatic configuration in place, I expect a Debian Edu
-roaming profile installation would be able to automatically detect and
-connect to any site using LDAP and Kerberos for NSS directory and PAM
-authentication. It should also work out of the box in a Active
-Directory environment providing posixAccount and posixGroup objects
-with UID and GID values.
-
-
If you want to help out with implementing these things for Debian
-Edu, please contact us on debian-edu@lists.debian.org.
diff --git a/blog/index.rss b/blog/index.rss
index eab6ed1567..420b457039 100644
--- a/blog/index.rss
+++ b/blog/index.rss
@@ -6,6 +6,38 @@
http://people.skolelinux.org/pere/blog/
+
+ Broken hard link handling with sshfs
+ http://people.skolelinux.org/pere/blog/Broken_hard_link_handling_with_sshfs.html
+ http://people.skolelinux.org/pere/blog/Broken_hard_link_handling_with_sshfs.html
+ Mon, 30 Aug 2010 19:30:00 +0200
+
+<p>Just got an email from Tobias Gruetzmacher as a followup on my
+<a href="http://people.skolelinux.org/pere/blog/Broken_umask_handling_with_sshfs.html">previous
+post about sshfs</a>. He reported another problem with sshfs. It
+fail to handle hard links properly. A simple way to spot this is to
+look at the . and .. entries in the directory tree. These should have
+a link count >1, but on sshfs the count is 1. I just tested to see
+what happen when trying to hardlink, and this fail as well:</p>
+
+<pre>
+% ln foo bar
+ln: creating hard link `bar' => `foo': Function not implemented
+%
+</pre>
+
+<p>I have not yet found time to implement a test for this in my file
+system test code, but believe having working hard links is useful to
+avoid surprised unix programs. Not as useful as working file locking
+and symlinks, which are required to get a working desktop, but useful
+nevertheless. :)</p>
+
+<p>The latest version of the file system test code is available via
+git from
+<a href="http://github.com/gebi/fs-test">http://github.com/gebi/fs-test</a></p>
+
+
+
Sikkerhetsteateret på flyplassene fortsetter
http://people.skolelinux.org/pere/blog/Sikkerhetsteateret_p___flyplassene_fortsetter.html
@@ -677,65 +709,5 @@ script so useful that he created a GIT repository and stored it in
-
- Autodetecting Client setup for roaming workstations in Debian Edu
- http://people.skolelinux.org/pere/blog/Autodetecting_Client_setup_for_roaming_workstations_in_Debian_Edu.html
- http://people.skolelinux.org/pere/blog/Autodetecting_Client_setup_for_roaming_workstations_in_Debian_Edu.html
- Sat, 7 Aug 2010 14:45:00 +0200
-
-<p>A few days ago, I
-<a href="http://people.skolelinux.org/pere/blog/Debian_Edu_roaming_workstation___at_the_university_of_Oslo.html">tried
-to install</a> a Roaming workation profile from Debian Edu/Squeeze
-while on the university network here at the University of Oslo, and
-noticed how much had to change to get it operational using the
-university infrastructure. It was fairly easy, but it occured to me
-that Debian Edu would improve a lot if I could get the client to
-connect without any changes at all, and thus let the client configure
-itself during installation and first boot to use the infrastructure
-around it. Now I am a huge step further along that road.</p>
-
-<p>With our current squeeze-test packages, I can select the roaming
-workstation profile and get a working laptop connecting to the
-university LDAP server for user and group and our active directory
-servers for Kerberos authentication. All this without any
-configuration at all during installation. My users home directory got
-a bookmark in the KDE menu to mount it via SMB, with the correct URL.
-In short, openldap and sssd is correctly configured. In addition to
-this, the client look for http://wpad/wpad.dat to configure a web
-proxy, and when it fail to find it no proxy settings are stored in
-/etc/environment and /etc/apt/apt.conf. Iceweasel and KDE is
-configured to look for the same wpad configuration and also do not use
-a proxy when at the university network. If the machine is moved to a
-network with such wpad setup, it would automatically use it when DHCP
-gave it a IP address.</p>
-
-<p>The LDAP server is located using DNS, by first looking for the DNS
-entry ldap.$domain. If this do not exist, it look for the
-_ldap._tcp.$domain SRV records and use the first one as the LDAP
-server. Next, it connects to the LDAP server and search all
-namingContexts entries for posixAccount or posixGroup objects, and
-pick the first one as the LDAP base. For Kerberos, a similar
-algorithm is used to locate the LDAP server, and the realm is the
-uppercase version of $domain.</p>
-
-<p>So, what is not working, you might ask. SMB mounting my home
-directory do not work. No idea why, but suspected the incorrect
-Kerberos settings in /etc/krb5.conf and /etc/samba/smb.conf might be
-the cause. These are not properly configured during installation, and
-had to be hand-edited to get the correct Kerberos realm and server,
-but SMB mounting still do not work. :(</p>
-
-<p>With this automatic configuration in place, I expect a Debian Edu
-roaming profile installation would be able to automatically detect and
-connect to any site using LDAP and Kerberos for NSS directory and PAM
-authentication. It should also work out of the box in a Active
-Directory environment providing posixAccount and posixGroup objects
-with UID and GID values.</p>
-
-<p>If you want to help out with implementing these things for Debian
-Edu, please contact us on debian-edu@lists.debian.org.</p>
-
-
-
diff --git a/blog/jXplorer__a_very_nice_LDAP_GUI.html b/blog/jXplorer__a_very_nice_LDAP_GUI.html
index c13bf117e4..4af1e2a2c6 100644
--- a/blog/jXplorer__a_very_nice_LDAP_GUI.html
+++ b/blog/jXplorer__a_very_nice_LDAP_GUI.html
@@ -67,7 +67,7 @@ and remove the failing query. Nothing big, but very annoying.
diff --git a/blog/tags/debian edu/debian edu.rss b/blog/tags/debian edu/debian edu.rss
index 710cd5b828..e82b0bca1e 100644
--- a/blog/tags/debian edu/debian edu.rss
+++ b/blog/tags/debian edu/debian edu.rss
@@ -2926,5 +2926,37 @@ brukerprogrammene</a> som er tilgjengelig i Skolelinux.</p>
+
+ Broken hard link handling with sshfs
+ http://people.skolelinux.org/pere/blog/Broken_hard_link_handling_with_sshfs.html
+ http://people.skolelinux.org/pere/blog/Broken_hard_link_handling_with_sshfs.html
+ Mon, 30 Aug 2010 19:30:00 +0200
+
+<p>Just got an email from Tobias Gruetzmacher as a followup on my
+<a href="http://people.skolelinux.org/pere/blog/Broken_umask_handling_with_sshfs.html">previous
+post about sshfs</a>. He reported another problem with sshfs. It
+fail to handle hard links properly. A simple way to spot this is to
+look at the . and .. entries in the directory tree. These should have
+a link count >1, but on sshfs the count is 1. I just tested to see
+what happen when trying to hardlink, and this fail as well:</p>
+
+<pre>
+% ln foo bar
+ln: creating hard link `bar' => `foo': Function not implemented
+%
+</pre>
+
+<p>I have not yet found time to implement a test for this in my file
+system test code, but believe having working hard links is useful to
+avoid surprised unix programs. Not as useful as working file locking
+and symlinks, which are required to get a working desktop, but useful
+nevertheless. :)</p>
+
+<p>The latest version of the file system test code is available via
+git from
+<a href="http://github.com/gebi/fs-test">http://github.com/gebi/fs-test</a></p>
+
+
+
diff --git a/blog/tags/debian edu/index.html b/blog/tags/debian edu/index.html
index c5d5cf4b00..3c34d24a2c 100644
--- a/blog/tags/debian edu/index.html
+++ b/blog/tags/debian edu/index.html
@@ -3485,6 +3485,51 @@ brukerprogrammene som er tilgjengelig i Skolelinux.
Just got an email from Tobias Gruetzmacher as a followup on my
+previous
+post about sshfs. He reported another problem with sshfs. It
+fail to handle hard links properly. A simple way to spot this is to
+look at the . and .. entries in the directory tree. These should have
+a link count >1, but on sshfs the count is 1. I just tested to see
+what happen when trying to hardlink, and this fail as well:
+
+
+% ln foo bar
+ln: creating hard link `bar' => `foo': Function not implemented
+%
+
+
+
I have not yet found time to implement a test for this in my file
+system test code, but believe having working hard links is useful to
+avoid surprised unix programs. Not as useful as working file locking
+and symlinks, which are required to get a working desktop, but useful
+nevertheless. :)
diff --git a/blog/tags/english/english.rss b/blog/tags/english/english.rss
index 4a5492f792..b4f9ce261d 100644
--- a/blog/tags/english/english.rss
+++ b/blog/tags/english/english.rss
@@ -3627,5 +3627,37 @@ script so useful that he created a GIT repository and stored it in
+
+ Broken hard link handling with sshfs
+ http://people.skolelinux.org/pere/blog/Broken_hard_link_handling_with_sshfs.html
+ http://people.skolelinux.org/pere/blog/Broken_hard_link_handling_with_sshfs.html
+ Mon, 30 Aug 2010 19:30:00 +0200
+
+<p>Just got an email from Tobias Gruetzmacher as a followup on my
+<a href="http://people.skolelinux.org/pere/blog/Broken_umask_handling_with_sshfs.html">previous
+post about sshfs</a>. He reported another problem with sshfs. It
+fail to handle hard links properly. A simple way to spot this is to
+look at the . and .. entries in the directory tree. These should have
+a link count >1, but on sshfs the count is 1. I just tested to see
+what happen when trying to hardlink, and this fail as well:</p>
+
+<pre>
+% ln foo bar
+ln: creating hard link `bar' => `foo': Function not implemented
+%
+</pre>
+
+<p>I have not yet found time to implement a test for this in my file
+system test code, but believe having working hard links is useful to
+avoid surprised unix programs. Not as useful as working file locking
+and symlinks, which are required to get a working desktop, but useful
+nevertheless. :)</p>
+
+<p>The latest version of the file system test code is available via
+git from
+<a href="http://github.com/gebi/fs-test">http://github.com/gebi/fs-test</a></p>
+
+
+
diff --git a/blog/tags/english/index.html b/blog/tags/english/index.html
index c6d0855fc8..4eec5f4c32 100644
--- a/blog/tags/english/index.html
+++ b/blog/tags/english/index.html
@@ -4377,6 +4377,51 @@ script so useful that he created a GIT repository and stored it in
+ Tags: debian edu, english, nuug.
+
+
+
+
+
+
Just got an email from Tobias Gruetzmacher as a followup on my
+previous
+post about sshfs. He reported another problem with sshfs. It
+fail to handle hard links properly. A simple way to spot this is to
+look at the . and .. entries in the directory tree. These should have
+a link count >1, but on sshfs the count is 1. I just tested to see
+what happen when trying to hardlink, and this fail as well:
+
+
+% ln foo bar
+ln: creating hard link `bar' => `foo': Function not implemented
+%
+
+
+
I have not yet found time to implement a test for this in my file
+system test code, but believe having working hard links is useful to
+avoid surprised unix programs. Not as useful as working file locking
+and symlinks, which are required to get a working desktop, but useful
+nevertheless. :)
diff --git a/blog/tags/fiksgatami/index.html b/blog/tags/fiksgatami/index.html
index 19a8467686..f6ab132512 100644
--- a/blog/tags/fiksgatami/index.html
+++ b/blog/tags/fiksgatami/index.html
@@ -88,7 +88,7 @@ med dem. Dette blir bra.
diff --git a/blog/tags/fildeling/index.html b/blog/tags/fildeling/index.html
index 2a1f58fa8e..3e12a1f979 100644
--- a/blog/tags/fildeling/index.html
+++ b/blog/tags/fildeling/index.html
@@ -397,7 +397,7 @@ Kommer neppe til å ta i bruk Blueray, og ei heller de nye DRM-greiene
diff --git a/blog/tags/norsk/index.html b/blog/tags/norsk/index.html
index 190b80f9f6..a2ce4ea575 100644
--- a/blog/tags/norsk/index.html
+++ b/blog/tags/norsk/index.html
@@ -3873,7 +3873,7 @@ en god ting sett fra et miljøperspektiv, men det er en annen sak.
diff --git a/blog/tags/nuug/index.html b/blog/tags/nuug/index.html
index 405c15f4ff..3f6619318c 100644
--- a/blog/tags/nuug/index.html
+++ b/blog/tags/nuug/index.html
@@ -6219,6 +6219,51 @@ en god ting sett fra et miljøperspektiv, men det er en annen sak.
Just got an email from Tobias Gruetzmacher as a followup on my
+previous
+post about sshfs. He reported another problem with sshfs. It
+fail to handle hard links properly. A simple way to spot this is to
+look at the . and .. entries in the directory tree. These should have
+a link count >1, but on sshfs the count is 1. I just tested to see
+what happen when trying to hardlink, and this fail as well:
+
+
+% ln foo bar
+ln: creating hard link `bar' => `foo': Function not implemented
+%
+
+
+
I have not yet found time to implement a test for this in my file
+system test code, but believe having working hard links is useful to
+avoid surprised unix programs. Not as useful as working file locking
+and symlinks, which are required to get a working desktop, but useful
+nevertheless. :)
diff --git a/blog/tags/nuug/nuug.rss b/blog/tags/nuug/nuug.rss
index 2d3cc0dfff..ceebd9ef88 100644
--- a/blog/tags/nuug/nuug.rss
+++ b/blog/tags/nuug/nuug.rss
@@ -4932,5 +4932,37 @@ en god ting sett fra et miljøperspektiv, men det er en annen sak.</p>
+
+ Broken hard link handling with sshfs
+ http://people.skolelinux.org/pere/blog/Broken_hard_link_handling_with_sshfs.html
+ http://people.skolelinux.org/pere/blog/Broken_hard_link_handling_with_sshfs.html
+ Mon, 30 Aug 2010 19:30:00 +0200
+
+<p>Just got an email from Tobias Gruetzmacher as a followup on my
+<a href="http://people.skolelinux.org/pere/blog/Broken_umask_handling_with_sshfs.html">previous
+post about sshfs</a>. He reported another problem with sshfs. It
+fail to handle hard links properly. A simple way to spot this is to
+look at the . and .. entries in the directory tree. These should have
+a link count >1, but on sshfs the count is 1. I just tested to see
+what happen when trying to hardlink, and this fail as well:</p>
+
+<pre>
+% ln foo bar
+ln: creating hard link `bar' => `foo': Function not implemented
+%
+</pre>
+
+<p>I have not yet found time to implement a test for this in my file
+system test code, but believe having working hard links is useful to
+avoid surprised unix programs. Not as useful as working file locking
+and symlinks, which are required to get a working desktop, but useful
+nevertheless. :)</p>
+
+<p>The latest version of the file system test code is available via
+git from
+<a href="http://github.com/gebi/fs-test">http://github.com/gebi/fs-test</a></p>
+
+
+
diff --git a/blog/tags/opphavsrett/index.html b/blog/tags/opphavsrett/index.html
index 5a237cf9b3..17ecc57cda 100644
--- a/blog/tags/opphavsrett/index.html
+++ b/blog/tags/opphavsrett/index.html
@@ -777,7 +777,7 @@ Kommer neppe til å ta i bruk Blueray, og ei heller de nye DRM-greiene
diff --git a/blog/tags/personvern/index.html b/blog/tags/personvern/index.html
index 8d61e0d6ac..2454ad6397 100644
--- a/blog/tags/personvern/index.html
+++ b/blog/tags/personvern/index.html
@@ -797,7 +797,7 @@ en god ting sett fra et miljøperspektiv, men det er en annen sak.
diff --git a/blog/tags/reprap/index.html b/blog/tags/reprap/index.html
index a881db180a..9ea3442726 100644
--- a/blog/tags/reprap/index.html
+++ b/blog/tags/reprap/index.html
@@ -525,7 +525,7 @@ kommer til å bruke denne plasttypen som håndterer temperaturer mellom
diff --git a/blog/tags/robot/index.html b/blog/tags/robot/index.html
index abafa2b08c..454af7e4d5 100644
--- a/blog/tags/robot/index.html
+++ b/blog/tags/robot/index.html
@@ -152,7 +152,7 @@ der hvis du er nysgjerrig.
diff --git a/blog/tags/sikkerhet/index.html b/blog/tags/sikkerhet/index.html
index 798a3b8cdc..6b835edb14 100644
--- a/blog/tags/sikkerhet/index.html
+++ b/blog/tags/sikkerhet/index.html
@@ -803,7 +803,7 @@ en god ting sett fra et miljøperspektiv, men det er en annen sak.
diff --git a/blog/tags/video/index.html b/blog/tags/video/index.html
index 154dab3ee1..106a8bf7ac 100644
--- a/blog/tags/video/index.html
+++ b/blog/tags/video/index.html
@@ -536,7 +536,7 @@ meg, Tollef og alle andre de som deltok på møtet på TV.
diff --git a/blog/tags/vitenskap/index.html b/blog/tags/vitenskap/index.html
index 7999421823..646a5fc6ed 100644
--- a/blog/tags/vitenskap/index.html
+++ b/blog/tags/vitenskap/index.html
@@ -138,7 +138,7 @@ skyskrapere. Takke meg til en tur til månen.