Hi,
Do you have some reason why -f (forced) parameter works ok if destionation where link point is a file, then it could update link by using forced mode.
If destionation where link point is folder then -f parameter not update link in this situation.
[user@server linkki_testi]$ ll
total 16
drwxrwxr-x 4 user xxx 4096 Apr 27 14:21 .
drwxrwxr-x 9 user xxx 4096 Apr 27 14:20 ..
drwxrwxr-x 2 user xxx 4096 Apr 27 14:21 EKA_DIR
drwxrwxr-x 2 user xxx 4096 Apr 27 14:21 TOKA_DIR
[user@server linkki_testi]$ ln -sf /home/user/tmp/linkki_testi/EKA_DIR /home/user/tmp/linkki_testi/linkki_DIR
[user@server linkki_testi]$ ll
total 16
drwxrwxr-x 4 user xxx 4096 Apr 27 14:21 .
drwxrwxr-x 9 user xxx 4096 Apr 27 14:20 ..
drwxrwxr-x 2 user xxx 4096 Apr 27 14:21 EKA_DIR
lrwxrwxrwx 1 user xxx 39 Apr 27 14:21 linkki_DIR -> /home/user/tmp/linkki_testi/EKA_DIR
drwxrwxr-x 2 user xxx 4096 Apr 27 14:21 TOKA_DIR
[user@server linkki_testi]$ ln -sf /home/user/tmp/linkki_testi/TOKA_DIR /home/user/tmp/linkki_testi/linkki_DIR
[user@server linkki_testi]$ ll
total 16
drwxrwxr-x 4 user xxx 4096 Apr 27 14:21 .
drwxrwxr-x 9 user xxx 4096 Apr 27 14:20 ..
drwxrwxr-x 2 user xxx 4096 Apr 27 14:22 EKA_DIR
lrwxrwxrwx 1 user xxx 39 Apr 27 14:21 linkki_DIR -> /home/user/tmp/linkki_testi/EKA_DIR
drwxrwxr-x 2 user xxx 4096 Apr 27 14:21 TOKA_DIR
[user@server linkki_testi]$
As you could see link still point to "EKA_DIR"… it should point to "TOKA_DIR" because there was -f parameter defined in ln command.
BR.
-sakke