Bug 17806 - В новом glibc не работает futimes на kernel-image-ovz-smp-2.6.18
Summary: В новом glibc не работает futimes на kernel-image-ovz-smp-2.6.18
Status: CLOSED FIXED
Alias: None
Product: Branch 4.0
Classification: Distributions
Component: kernel-image-ovz-smp (show other bugs)
Version: 4.0
Hardware: all Linux
: P2 normal
Assignee: Dmitry V. Levin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-11-06 19:46 MSK by Vitaly Lipatov
Modified: 2008-11-14 23:17 MSK (History)
3 users (show)

See Also:


Attachments
исходник (598 bytes, application/octet-stream)
2008-11-06 20:29 MSK, AntonRundnev
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Vitaly Lipatov 2008-11-06 19:46:16 MSK
$ rpm -q glibc
glibc-2.8.90-alt2

В этой сборке функция futimes реализована через системный вызов utimensat (хотя glibc умеет и по-другому), который отсутствует в ядрах старее 2.6.22.

Получается, что новый glibc не полностью работоспособен на старых ядрах, причём узнать это малореально.
Comment 1 Dmitry V. Levin 2008-11-06 19:57:00 MSK
(In reply to comment #0)
> $ rpm -q glibc
> glibc-2.8.90-alt2
> 
> В этой сборке функция futimes реализована через системный вызов utimensat (хотя glibc
> умеет и по-другому),

Там есть fallback на прежний метод, который работает через /proc.

> который отсутствует в ядрах старее 2.6.22.
> 
> Получается, что новый glibc не полностью работоспособен на старых ядрах,

В чём это выражается?  Вывод strace, ещё чего-нибудь есть?
Comment 2 AntonRundnev 2008-11-06 20:27:51 MSK
есть.

исходник приаттачен.
 
испытание номер раз:
[mibori@builder glibct]$ ./a.out
fd = 4
futimes error, errno == 14
error is : Bad address
[mibori@builder glibct]$ uname -r
2.6.18-ovz-smp-alt24
[mibori@builder glibct]$ rpm -q glibc
glibc-2.8.90-alt2
[mibori@builder glibct]$

испытание номер два:
[mibori@atlant glibct]$ ./a.out
fd = 4
futimes normal
[mibori@atlant glibct]$ uname -r
2.6.25-std-def-alt6.M41.1
[mibori@atlant glibct]$ rpm -q glibc
glibc-2.5.1-alt7
[mibori@atlant glibct]$
Comment 3 AntonRundnev 2008-11-06 20:29:05 MSK
Created attachment 3043 [details]
исходник

исходник
Comment 4 Dmitry V. Levin 2008-11-06 20:37:37 MSK
(In reply to comment #2)
> есть.
> 
> исходник приаттачен.
> 
> испытание номер раз:
> [mibori@builder glibct]$ ./a.out
> fd = 4
> futimes error, errno == 14
> error is : Bad address
> [mibori@builder glibct]$ uname -r
> 2.6.18-ovz-smp-alt24

В 2.6.18-std-smp этой проблемы нет.

В 2.6.18-ovz-smp есть системный вызов utimensat, портированный туда специально людьми из openvz.org (коммит 028stab051-10-g815bdcacf0138c3b677e46445dcc778d2cfcc251).

К сожалению, этот бэкпорт нерабочий, лучше бы его вообще не было.
Я думаю что в следующей сборке ovz-smp для 4.0, которая будет очень скоро, этот бэкпорт будет убран.
Comment 5 Dmitry V. Levin 2008-11-14 02:04:46 MSK
Fixed in kernel-image-ovz-smp-2.6.18-alt26.M40.2
Comment 6 Vitaly Lipatov 2008-11-14 23:17:56 MSK
Спасибо!