Summary: | Показ файлов больше 2Gb | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Evgeny <evgen> |
Component: | vsftpd | Assignee: | Alexey Shabalin <shaba> |
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P3 | CC: | mike, shaba, vsu |
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux |
Description
Evgeny
2009-11-01 20:08:08 MSK
Странно, но факт. Причём ни файла, ни ошибок: lftp localhost:/pub> ls -l *.img lftp localhost:/pub> ls -l test.img lftp localhost:/pub> pad:/var/ftp/pub> ls -lh test.img -rw-r--r-- 1 mike mike 2.5G Nov 3 17:17 test.img pad:/var/ftp/pub> rpm -q vsftpd vsftpd-2.2.1-alt1 This cannot happen. Please strace the server to find out what's going on. strace на вид нормальный, поскольку glibc всегда использует системные вызовы *stat64, после чего, если вызывался 32-разрядный вариант функции, а в st_size вернулось значение, не влезающее в 32-разрядный тип, возвращает ошибку EOVERFLOW, но в strace её не видно. А вот в nm sysutils.o после сборки видно отсутствие символов *stat64, которые были там в 2.2.0-alt1. Похоже, в commit 397e7b5ca7739f670521e299464294f8feaf2c9a перемещение #include "port/porting_junk.h" из vsftpd/sysutil.c в vsftpd/sysutil.h привело к тому, что заголовки из glibc включаются до #define _FILE_OFFSET_BITS 64 в vsftpd/sysutil.c, и последующее определение _FILE_OFFSET_BITS уже не обрабатывается. vsftpd-2.2.1-alt2 -> sisyphus: * Wed Nov 11 2009 Dmitry V. Levin <ldv@altlinux> 2.2.1-alt2 - Fixed regression in LFS support introduced in previous release (thanks to Sergey Vlasov; closes: #22128). (In reply to comment #2) > This cannot happen. Английский per se не спас от очередной ошибки, что характерно. Мож недельку отпуска? :) 2 vsu: вау! |