* [devel] баги в tmpfs: hasher ... и ттеперь udev
@ 2006-05-16 8:23 Anton Farygin
2006-05-16 8:25 ` Anton Farygin
0 siblings, 1 reply; 3+ messages in thread
From: Anton Farygin @ 2006-05-16 8:23 UTC (permalink / raw)
To: ALT Devel discussion list
Привет.
Совсем недавно обсуждалась проблема, которая вылезала при работе
hasher'а на tmpfs.
Так вот оказывается, что мы её словили на udev-091-alt2.
workaround я нашёл судя по всему, но зато теперь появился testcase,
который с большой вероятностью позволит воспроизводить эту проблему.
Вот такой код в udevd:
static void export_initial_seqnum(void)
{
char filename[PATH_SIZE];
int fd;
char seqnum[32];
ssize_t len = 0;
strlcpy(filename, sysfs_path, sizeof(filename));
strlcat(filename, "/kernel/uevent_seqnum", sizeof(filename));
fd = open(filename, O_RDONLY);
if (fd >= 0) {
len = read(fd, seqnum, sizeof(seqnum)-1);
close(fd);
}
if (len <= 0) {
strcpy(seqnum, "0\n");
len = 3;
}
strlcpy(filename, udev_root, sizeof(filename));
strlcat(filename, "/" EVENT_SEQNUM, sizeof(filename));
create_path(filename);
fd = open(filename, O_WRONLY|O_TRUNC|O_CREAT, 0644);
if (fd >= 0) {
write(fd, seqnum, len);
close(fd);
}
}
приводил к тому, что файл /dev/.udevd/uevent_seqnum на некоторых машинах
появлялся с очень большой задержкой (большое 0.5 секунды), что
естественно приводило к проблемам.
По моему это явно можно интерпретировать как проблему tmpfs.
Конечно надо ещё поэкпериментировать и написать более внятный testcase..
Но всё-таки это уже не hasher ;)
Rgds,
Rider
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [devel] баги в tmpfs: hasher ... и ттеперь udev
2006-05-16 8:23 [devel] баги в tmpfs: hasher ... и ттеперь udev Anton Farygin
@ 2006-05-16 8:25 ` Anton Farygin
2006-05-16 9:00 ` Anton Farygin
0 siblings, 1 reply; 3+ messages in thread
From: Anton Farygin @ 2006-05-16 8:25 UTC (permalink / raw)
To: ALT Devel discussion list
Anton Farygin wrote:
> Привет.
>
> Совсем недавно обсуждалась проблема, которая вылезала при работе
> hasher'а на tmpfs.
>
> Так вот оказывается, что мы её словили на udev-091-alt2.
>
> workaround я нашёл судя по всему, но зато теперь появился testcase,
> который с большой вероятностью позволит воспроизводить эту проблему.
>
> Вот такой код в udevd:
> static void export_initial_seqnum(void)
> {
> char filename[PATH_SIZE];
> int fd;
> char seqnum[32];
> ssize_t len = 0;
>
> strlcpy(filename, sysfs_path, sizeof(filename));
> strlcat(filename, "/kernel/uevent_seqnum", sizeof(filename));
> fd = open(filename, O_RDONLY);
> if (fd >= 0) {
> len = read(fd, seqnum, sizeof(seqnum)-1);
> close(fd);
> }
> if (len <= 0) {
> strcpy(seqnum, "0\n");
> len = 3;
> }
> strlcpy(filename, udev_root, sizeof(filename));
> strlcat(filename, "/" EVENT_SEQNUM, sizeof(filename));
> create_path(filename);
> fd = open(filename, O_WRONLY|O_TRUNC|O_CREAT, 0644);
> if (fd >= 0) {
> write(fd, seqnum, len);
> close(fd);
> }
> }
>
> приводил к тому, что файл /dev/.udevd/uevent_seqnum на некоторых машинах
> появлялся с очень большой задержкой (большое 0.5 секунды), что
> естественно приводило к проблемам.
>
> По моему это явно можно интерпретировать как проблему tmpfs.
>
> Конечно надо ещё поэкпериментировать и написать более внятный testcase..
>
> Но всё-таки это уже не hasher ;)
Кстати, поможет ли опции sync при монтировании ?
Rgds,
Rider
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [devel] баги в tmpfs: hasher ... и ттеперь udev
2006-05-16 8:25 ` Anton Farygin
@ 2006-05-16 9:00 ` Anton Farygin
0 siblings, 0 replies; 3+ messages in thread
From: Anton Farygin @ 2006-05-16 9:00 UTC (permalink / raw)
To: ALT Devel discussion list, Sergey Vlasov
Anton Farygin wrote:
> Anton Farygin wrote:
>> Привет.
>>
>> Совсем недавно обсуждалась проблема, которая вылезала при работе
>> hasher'а на tmpfs.
>>
>> Так вот оказывается, что мы её словили на udev-091-alt2.
>>
>> workaround я нашёл судя по всему, но зато теперь появился testcase,
>> который с большой вероятностью позволит воспроизводить эту проблему.
>>
>> Вот такой код в udevd:
>> static void export_initial_seqnum(void)
>> {
>> char filename[PATH_SIZE];
>> int fd;
>> char seqnum[32];
>> ssize_t len = 0;
>>
>> strlcpy(filename, sysfs_path, sizeof(filename));
>> strlcat(filename, "/kernel/uevent_seqnum", sizeof(filename));
>> fd = open(filename, O_RDONLY);
>> if (fd >= 0) {
>> len = read(fd, seqnum, sizeof(seqnum)-1);
>> close(fd);
>> }
>> if (len <= 0) {
>> strcpy(seqnum, "0\n");
>> len = 3;
>> }
>> strlcpy(filename, udev_root, sizeof(filename));
>> strlcat(filename, "/" EVENT_SEQNUM, sizeof(filename));
>> create_path(filename);
>> fd = open(filename, O_WRONLY|O_TRUNC|O_CREAT, 0644);
>> if (fd >= 0) {
>> write(fd, seqnum, len);
>> close(fd);
>> }
>> }
>>
>> приводил к тому, что файл /dev/.udevd/uevent_seqnum на некоторых машинах
>> появлялся с очень большой задержкой (большое 0.5 секунды), что
>> естественно приводило к проблемам.
>>
>> По моему это явно можно интерпретировать как проблему tmpfs.
>>
>> Конечно надо ещё поэкпериментировать и написать более внятный testcase..
>>
>> Но всё-таки это уже не hasher ;)
>
> Кстати, поможет ли опции sync при монтировании ?
>
Опция sync при монтировании tmpfs не помогает ;(
Rgds,
Rider
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2006-05-16 9:00 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-05-16 8:23 [devel] баги в tmpfs: hasher ... и ттеперь udev Anton Farygin
2006-05-16 8:25 ` Anton Farygin
2006-05-16 9:00 ` Anton Farygin
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git