----- Forwarded message from Yury Umanets ----- Date: Mon, 14 Oct 2002 23:44:08 +0400 From: Yury Umanets To: mike@osdn.org.ua Subject: [Fwd: Re: [Fwd: Fwd: [devel] BUG: uw-imap locking does not work on reiserfs]] -------- Original Message -------- Subject: Re: [Fwd: Fwd: [devel] BUG: uw-imap locking does not work on reiserfs] Date: Mon, 14 Oct 2002 23:01:40 +0400 From: Oleg Drokin To: Yury Umanets CC: reiserfs-dev@namesys.com Hello! it just means that wu-imap is broken (no wonders about that.) I will submit patch for SuSE and RedHat tomorrow, I guess. Bye, Oleg On Mon, Oct 14, 2002 at 06:26:15PM +0400, Yury Umanets wrote: > > >-------- Original Message -------- >Subject: Fwd: [devel] BUG: uw-imap locking does not work on reiserfs >Date: Mon, 14 Oct 2002 17:23:08 +0300 >From: Michael Shigorin >To: Yury Umanets > > > >----- Forwarded message from Sergey Vlasov ----- > >Date: Sat, 12 Oct 2002 18:23:23 +0400 >From: Sergey Vlasov >To: ALT Discussion List , > Sisyphus ML >Subject: [devel] BUG: uw-imap locking does not work on reiserfs >Cc: ALT Developers List > >Внимание, грабли! > >В uw-imap (по крайней мере, в версии uw-imap-2001a-alt6) не работает >блокировка почтовых ящиков, если они находятся на файловой системе >reiserfs (проверено с ядром 2.4.18-up-alt8). На ext2, ext3 блокировка >работает. На других файловых системах тоже могут быть проблемы - не >проверял. > >Ошибка может приводить к порче почтовых ящиков и потере сообщений. > >Причина, похоже, в следующем куске кода (src/osdep/unix/nfstnew.c): > >/* Test for NFS >* Accepts: file descriptor >* Returns: T if NFS file, NIL otherwise >*/ > >long test_nfs (int fd) >{ > struct stat sbuf; > struct ustat usbuf; > struct statvfs vsbuf; > /* Any base type that begins with "nfs" or "afs" is considered to be a > * network filesystem. > */ > return ((!fstat (fd,&sbuf) && !ustat (sbuf.st_dev,&usbuf) && > !++usbuf.f_tinode) || > (!fstatvfs (fd,&vsbuf) && (vsbuf.f_basetype[1] == 'f') && > (vsbuf.f_basetype[2] == 's') && > ((vsbuf.f_basetype[0] == 'n') || (vsbuf.f_basetype[0] == 'a')))) ? > LONGT : NIL; >} > >На reiserfs функция ustat возвращает f_tinode == -1, в результате чего >uw-imap считает, что работает с NFS, и прекращает использовать >блокировки через fcntl (остается только dotlock, но этот метод не >работает с системными ящиками в /var/spool/mail). > >-- >Sergey Vlasov >_______________________________________________ >Devel mailing list >Devel@altlinux.ru >http://altlinux.ru/mailman/listinfo/devel > >----- End forwarded message ----- > >-- >---- WBR, Michael Shigorin > ------ Linux.Kiev http://www.linux.kiev.ua/ > > > >-- >Yury Umanets > -- Yury Umanets ----- End forwarded message ----- -- ---- WBR, Michael Shigorin ------ Linux.Kiev http://www.linux.kiev.ua/