LINUX.ORG.RU

stat() неправильно работает с cifs


0

0

продолжение темы www.linux.org.ru/view-message.jsp?msgid=4253320

Следующая нехитрая программа

#include <stdio.h>
#include <stdlib.h>

#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <errno.h>

int main(int argc, char* argv[]){
    if (argc != 2){
        fprintf(stderr, "specify path\n");
        exit (-1);
    }
    struct stat stat_buf;
    if (stat(argv[1], &stat_buf) != 0){
        perror(NULL);
        exit (-1);
    }
    fprintf(stderr, "success\n");
    return 0;
}
по задумке должна считывать данные файла (директории, симлинка) в переменную stat_buf и корректно завершаться. Работает везде, кроме примонтированных самба-шар (ядро 2.6.31, с 2.6.30 работает нормально).

Прошу подтвердить или опровергнуть.

★★★★★

По cifs сейчас прицеплена какая то венда, следовательно без симлинков - все работает. Конкретнее кондишн

vasily_pupkin ★★★★★
()
Ответ на: комментарий от vasily_pupkin

пробовал на нескольких тачках, такое ощущение, что у меня неправильная карма ))

Итак, 1. 32-разрядная система (ubuntu, debian) 2. монтируем шару с дефолтными настройками (mount //server/share /mnt/mountpoint) 3. запускаем программу из первого поста ( ./a.out /mnt/mountpoint) 4. ???

Вот вместо ??? у меня получается «Value too large for defined data type». Откатился на ядро 2.6.30 (не трогая при этом утилиты для работы с smbfs) — все заработало.

demidrol ★★★★★
() автор топика
Ответ на: комментарий от demidrol

Ну пусть будет убунта, и луноходная самба:

avatar@music:~$ uname -a
Linux music 2.6.31-15-generic #50-Ubuntu SMP Tue Nov 10 14:54:29 UTC 2009 i686 GNU/Linux

root@music:/mnt# mount -o user=avatar //PDC/storage /mnt/cifs
Password: 
root@music:/mnt# /tmp/cifs /mnt/cifs
success
root@music:/mnt# /tmp/cifs /mnt/cifs/downloads
success
root@music:/mnt#
vasily_pupkin ★★★★★
()
Ответ на: комментарий от vasily_pupkin

>Ну пусть будет убунта, и луноходная самба

хм... или место проклятое, или руки кривые. В общем, спасибо, что откликнулись.

demidrol ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.