[devel] I: XFS current situation

Alexander Bokovoy =?iso-8859-1?q?a=2Ebokovoy_=CE=C1_sam-solutions=2Enet?=
Пт Мар 29 13:06:42 MSK 2002


On Fri, Mar 29, 2002 at 12:30:57PM +0300, Konstantin Volckov wrote:
> On Fri, 29 Mar 2002 11:22:32 +0200
> Alexander Bokovoy <a.bokovoy на sam-solutions.net> wrote:
> 
> > On Fri, Mar 29, 2002 at 12:05:47PM +0300, Konstantin Volckov wrote:
> 
> Hi!
> 
> > > > Забыл:
> > > > 
> > > >   3. Текущая версия XFS имеет проблемы с mmap() и, соответственно,
> > > >   приложениями, которые используют эту функцию. Требуется пересборка
> > > >   приложений без нее. Разработчики пытаются проблему решить, но пока
> > > >   продвижения нет.
> > > 
> > > Так я же зафиксил эту проблему и отправил им патч - ответа до сих пор
> > > нет...
> > Напомни название патча в нашем ядре, я сегодня буду разговаривать со
> > Стивом Лордом.
> Патч приложен.
Эта функция переписана с нуля:

STATIC int
linvfs_write_full_page(
	struct page	*page)
{
	int		flagset = 0;
	int		error;
	struct vnode	*vp;
	struct inode	*inode;

	if ((current->flags & PF_FSTRANS) && DelallocPage(page))
		goto out_fail;

	if ((current->flags & (PF_FSTRANS|PF_NOIO)) &&
	    (!page->buffers || buffer_delay(page->buffers)))
		goto out_fail;

	if (!page->buffers || buffer_delay(page->buffers)) {
		current->flags |= PF_NOIO;
		flagset = 1;
	}

	inode = page->mapping->host;
	vp = LINVFS_GET_VP(inode);
	VOP_WRITE_FULL_PAGE(vp, page, error);

	if (flagset)
		current->flags &= ~PF_NOIO;
	return error;

out_fail:
	SetPageDirty(page);
	UnlockPage(page);
	return 0;
}

-- 
/ Alexander Bokovoy
Software architect and analyst             // SaM-Solutions Ltd.
---
People respond to people who respond.




Подробная информация о списке рассылки Devel