Jeff Roberson добавил журналирование к UFS

Обсуждение всяких разных новостей.
Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Jeff Roberson добавил журналирование к UFS

Непрочитанное сообщение terminus » 2009-12-10 13:18:32

Вот это новость! :Yahoo!:

Джефри Робсон (Jeff Roberson), автор планировшика ULE и один из ключевых разработчиков FreeBSD, произвел улучшения в работе механизма Soft Updates файловой системы UFS. Им был добавлен механизм журналирования метаданных изменяемых при работе Soft Updates. Данное нововведение позволит отказаться от необходимости запуска fsck после "грязного" размонтирования файловой системы. Новая система журналирования позволяет достичь очень высокой скорости востановления состояния файловой системы при очень малом объеме журнала.

Данная работа была выполнена по заказу компаний iXsystems, Yahoo!, и Juniper networks. В ближайшее время код будет доступен пользователям ветки FreeBSD 9.0-CURRENT.

http://jeffr-tech.livejournal.com/22716.html
Journaling softupdates, SU+J
I suspect that most people who read this blog are familiar with journaling as a mechanism for ensuring post-crash filesystem consistency. Some of you may also be familiar with copy-on-write and log structured filesystems as an alternative to journaling. BSD's ffs, an extension of the original unix filesystem, has used an alternate approach called soft-updates to handle filesystem consistency for around 10 years. For the past few months, I have been creating a hybrid journaled softupdate system to deal with inadequacies in the existing softdep system. This work is opensource and will be available to FreeBSD-current users sometime this month. Behind the cut I briefly describe the tradeoffs in each consistency mechanism and motivation for this work.


If filesystem technologies are the subject of fads, it seems everything in the human experience must be. Lately we've seen an resurgence of copy-on-write (COW) filesystems which have been popularized seemingly by ZFS but have existed at least as far back as 1990's Rosenblum paper on LFS. These may be particularly attractive on flash media where seek time is not a problem and where clustering writes together can improve erase block fragmentation issues. However, on spinning media COW tends to fragment the drive and reduce the quality of allocation decisions by enforcing essentially at least two versions of any modified data to be reachable at once.

Journaled filesystems were of course the earlier fad. In this mechanism a copy of any metadata and sometimes data that is to be modified is kept in a journal, a fixed area of the disk or another disk, that logs each modification. In this mechanism the journal is replayed on reboot and the filesystem is left in a consistent state. The problem with journaling is either it's very simple and uses a tremendous amount of space and I/O with a strict transaction model that prevents some concurrency, or it becomes incredibly complex, to the tune of over 20,000 lines of code in xfs. Still I have questions about concurrency when multiple transactions affect a block in xfs, but I need to dig deeper to understand this.

Soft-updates is an alternative to this scheme where the filesystem keeps a list of dependencies that must be satisfied before a change to the filesystem can be visible on disk. For example, you wouldn't want to write a directory entry pointing at an inode until the inode was initialized on disk and marked allocated. Softdep handles this by rolling back changes to metadata that don't yet have their dependencies satisfied when we try to write a block. In this way we can commit any completed 'transactions' while keeping the disk state consistent. Softdep also allows these dependencies to discover operations which cancel each other out and thus nothing makes it to disk. For example, let's say you create a temporary file and then remove it after writing some blocks, which compilers often do, if it all happens within the interval of the syncer nothing will make it to disk.

Soft-updates guarantees that the only filesystem inconsistencies on unclean shutdown are leaked blocks and inodes. To resolve this you can run a background fsck or you can ignore it until you start to run out of space. We also could've written a mark and sweep garbage collector but never did. Ultimately, the bgfsck is too expensive and people did not like the uncertainty of not having run fsck. To resolve these issues, I have added a small journal to softupdates. However, I only have to journal block allocation and free, and inode link count changes since softdep guarantees the rest. My journal records are each only 32bytes which is incredibly compact compared to any other journaling solution. We still get the great concurrency and ability to ignore writes which have been canceled by new operations. But now we have recovery time that is around 2 seconds per megabyte of journal in-use. That's 32,768 blocks allocated, files created, links added, etc. per megabyte of journal.

This work is being funded by a group of companies, iXsystems, Yahoo!, and Juniper networks. I'm interested to see if this kind of project if feasible in the future where companies can share development costs for specific opensource projects.

The work is being done in collaboration with Kirk McKusick, the original author of ffs and softupdates. We will likely present a paper at BSDCan and then at a more formal venue following that. The code will be publicly available within two weeks.
Последний раз редактировалось terminus 2009-12-10 13:38:43, всего редактировалось 1 раз.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
vintovkin
ВДВ
Сообщения: 1286
Зарегистрирован: 2007-05-11 9:39:11
Откуда: CSKA

Re: Jeff Roberson добавил журналирование к UFS

Непрочитанное сообщение vintovkin » 2009-12-10 13:30:31

что это такое?
для чего нужен??
###я чайник)
Junos OS kernel based on FreeBSD UNIX.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35308
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Jeff Roberson добавил журналирование к UFS

Непрочитанное сообщение Alex Keda » 2009-12-10 13:36:06

атлична
====
хоть бы потрудился первести вкратце.
Убей их всех! Бог потом рассортирует...

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Jeff Roberson добавил журналирование к UFS

Непрочитанное сообщение terminus » 2009-12-10 13:42:19

Чуть попереводил. на опеннет тоже закинул. :smile:
Это же рулез! UFS is back! Тормоза при fsck очень напрягают, а тут появится резон использовать ее на больших разделах где иначе нет альтернативы ZFS (если специально не нужны ее фишки какие-нить)!
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Аватара пользователя
vintovkin
ВДВ
Сообщения: 1286
Зарегистрирован: 2007-05-11 9:39:11
Откуда: CSKA

Re: Jeff Roberson добавил журналирование к UFS

Непрочитанное сообщение vintovkin » 2009-12-10 14:04:44

ОГО!!!
крутэбл :smile:
Junos OS kernel based on FreeBSD UNIX.

Аватара пользователя
angelas_
сержант
Сообщения: 212
Зарегистрирован: 2009-08-26 13:04:09
Откуда: Oslo, Norway
Контактная информация:

Re: Jeff Roberson добавил журналирование к UFS

Непрочитанное сообщение angelas_ » 2009-12-10 14:19:39

Действительно отлично! :good: :Bravo:
:smile:
Тэстэд ин экстримс!

Larin
лейтенант
Сообщения: 975
Зарегистрирован: 2008-01-29 20:08:41
Откуда: РБ, Минск

Re: Jeff Roberson добавил журналирование к UFS

Непрочитанное сообщение Larin » 2009-12-10 14:22:11

гуд. сколько еще ждать до продакшена?)))
Последний раз редактировалось Larin 2009-12-10 14:36:46, всего редактировалось 1 раз.

Аватара пользователя
vintovkin
ВДВ
Сообщения: 1286
Зарегистрирован: 2007-05-11 9:39:11
Откуда: CSKA

Re: Jeff Roberson добавил журналирование к UFS

Непрочитанное сообщение vintovkin » 2009-12-10 14:28:32

Larin писал(а):гуд. сколько еще ждать продакшена?)))
что значит продакшн?!
Junos OS kernel based on FreeBSD UNIX.

Larin
лейтенант
Сообщения: 975
Зарегистрирован: 2008-01-29 20:08:41
Откуда: РБ, Минск

Re: Jeff Roberson добавил журналирование к UFS

Непрочитанное сообщение Larin » 2009-12-10 14:37:24

vintovkin писал(а):
Larin писал(а):гуд. сколько еще ждать продакшена?)))
что значит продакшн?!
когда это можно будет использовать не опасаясь.

_Andy
проходил мимо

Re: Jeff Roberson добавил журналирование к UFS

Непрочитанное сообщение _Andy » 2009-12-11 0:01:39

lissyara писал(а):атлична
====
хоть бы потрудился первести вкратце.
Чем отлично то? Кто-то мне недавно доказывал, что журнал не нужен!
http://forum.lissyara.su/viewtopic.php?p=149719#p149719

_Andy
проходил мимо

Re: Jeff Roberson добавил журналирование к UFS

Непрочитанное сообщение _Andy » 2009-12-11 0:03:52

Larin писал(а):
vintovkin писал(а):
Larin писал(а):гуд. сколько еще ждать продакшена?)))
что значит продакшн?!
когда это можно будет использовать не опасаясь.
Никогда. Пототму, что с выходом zfs, это можно смело закапывать

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35308
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Jeff Roberson добавил журналирование к UFS

Непрочитанное сообщение Alex Keda » 2009-12-11 0:36:18

неа.
для маленких тазиков - очень актуально.
Убей их всех! Бог потом рассортирует...

ev
ст. лейтенант
Сообщения: 1325
Зарегистрирован: 2008-07-27 17:11:30
Откуда: Москва

Re: Jeff Roberson добавил журналирование к UFS

Непрочитанное сообщение ev » 2009-12-11 9:51:10

Никогда. Пототму, что с выходом zfs, это можно смело закапывать
пока zfs работает не искаропки и требует много памяти - он далеко не везде будет использоваться

Larin
лейтенант
Сообщения: 975
Зарегистрирован: 2008-01-29 20:08:41
Откуда: РБ, Минск

Re: Jeff Roberson добавил журналирование к UFS

Непрочитанное сообщение Larin » 2009-12-11 10:44:47

_Andy писал(а):
Larin писал(а):
vintovkin писал(а):
Larin писал(а):гуд. сколько еще ждать продакшена?)))
что значит продакшн?!
когда это можно будет использовать не опасаясь.
Никогда. Пототму, что с выходом zfs, это можно смело закапывать
lissyara на хостинге вернулся с zfs на ufs:)))

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35308
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Jeff Roberson добавил журналирование к UFS

Непрочитанное сообщение Alex Keda » 2009-12-11 11:26:47

боян =)
Убей их всех! Бог потом рассортирует...

Larin
лейтенант
Сообщения: 975
Зарегистрирован: 2008-01-29 20:08:41
Откуда: РБ, Минск

Re: Jeff Roberson добавил журналирование к UFS

Непрочитанное сообщение Larin » 2009-12-11 11:38:55

что все таки уже zfs?)

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35308
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Jeff Roberson добавил журналирование к UFS

Непрочитанное сообщение Alex Keda » 2010-01-09 12:24:04

просят помочь с тестированием
http://lists.freebsd.org/pipermail/free ... 14811.html
Убей их всех! Бог потом рассортирует...

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Jeff Roberson добавил журналирование к UFS

Непрочитанное сообщение terminus » 2010-01-09 15:52:11

Клева! [уже начал собирать сегодняшний CURRENT] :smile:

Заопеннетил. :smile:
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Jeff Roberson добавил журналирование к UFS

Непрочитанное сообщение terminus » 2010-01-09 21:07:43

Что-то у меня на сегодняшнем каренте не собралось :smile:

Код: Выделить всё

(cd /usr/src/rescue/rescue/../../sbin/dumpfs &&  make -DRESCUE CRUNCH_CFLAGS=-DRESCUE DIRPRFX=rescue/rescue/dumpfs/ depend && make -DRESCUE CRUNCH_CFLAGS=-DRESCUE DIRPRFX=rescue/rescue/dumpfs/ dumpfs.o)
rm -f .depend
mkdep -f .depend -a    -DRESCUE /usr/src/sbin/dumpfs/dumpfs.c
echo dumpfs: /usr/obj/usr/src/tmp/usr/lib/libc.a /usr/obj/usr/src/tmp/usr/lib/libufs.a >> .depend
cc -O2 -pipe  -DRESCUE -std=gnu99 -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -c /usr/src/sbin/dumpfs/dumpfs.c
(cd /usr/src/rescue/rescue/../../sbin/dumpon &&  make -DRESCUE CRUNCH_CFLAGS=-DRESCUE DIRPRFX=rescue/rescue/dumpon/ depend && make -DRESCUE CRUNCH_CFLAGS=-DRESCUE DIRPRFX=rescue/rescue/dumpon/ dumpon.o)
rm -f .depend
mkdep -f .depend -a    -DRESCUE /usr/src/sbin/dumpon/dumpon.c
echo dumpon: /usr/obj/usr/src/tmp/usr/lib/libc.a  >> .depend
cc -O2 -pipe  -DRESCUE -std=gnu99 -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sign -c /usr/src/sbin/dumpon/dumpon.c
(cd /usr/src/rescue/rescue/../../sbin/fsck &&  make -DRESCUE CRUNCH_CFLAGS=-DRESCUE DIRPRFX=rescue/rescue/fsck/ depend && make -DRESCUE CRUNCH_CFLAGS=-DRESCUE DIRPRFX=rescue/rescue/fsck/ fsck.o fsutil.o preen.o)
rm -f .depend
mkdep -f .depend -a    -DRESCUE /usr/src/sbin/fsck/fsck.c /usr/src/sbin/fsck/fsutil.c /usr/src/sbin/fsck/preen.c
echo fsck: /usr/obj/usr/src/tmp/usr/lib/libc.a  >> .depend
cc -O2 -pipe  -DRESCUE -std=gnu99 -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -c /usr/src/sbin/fsck/fsck.c
cc -O2 -pipe  -DRESCUE -std=gnu99 -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -c /usr/src/sbin/fsck/fsutil.c
cc -O2 -pipe  -DRESCUE -std=gnu99 -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -c /usr/src/sbin/fsck/preen.c
(cd /usr/src/rescue/rescue/../../sbin/fsck_ffs &&  make -DRESCUE CRUNCH_CFLAGS=-DRESCUE DIRPRFX=rescue/rescue/fsck_ffs/ depend && make -DRESCUE CRUNCH_CFLAGS=-DRESCUE DIRPRFX=rescue/rescue/fsck_ffs/ dir.o ea.o fsutil.o inode.o main.o pass1.o pass1b.o pass2.o pass3.o pass4.o pass5.o setup.o suj.o utilities.o gjournal.o getmntopts.o)
rm -f .depend
mkdep -f .depend -a    -I/usr/src/sbin/fsck_ffs -I/usr/src/sbin/fsck_ffs/../mount -DRESCUE /usr/src/sbin/fsck_ffs/dir.c /usr/src/sbin/fsck_ffs/ea.c /usr/src/sbin/fsck_ffs/fsutil.c /usr/src/sbin/fsck_ffs/inode.c /usr/src/sbin/fsck_ffs/main.c /usr/src/sbin/fsck_ffs/pass1.c /usr/src/sbin/fsck_ffs/pass1b.c /usr/src/sbin/fsck_ffs/pass2.c /usr/src/sbin/fsck_ffs/pass3.c /usr/src/sbin/fsck_ffs/pass4.c /usr/src/sbin/fsck_ffs/pass5.c /usr/src/sbin/fsck_ffs/setup.c /usr/src/sbin/fsck_ffs/suj.c /usr/src/sbin/fsck_ffs/utilities.c /usr/src/sbin/fsck_ffs/gjournal.c /usr/src/sbin/fsck_ffs/../mount/getmntopts.c
echo fsck_ffs: /usr/obj/usr/src/tmp/usr/lib/libc.a /usr/obj/usr/src/tmp/usr/lib/libufs.a >> .depend
cc -O0 -pipe -I/usr/src/sbin/fsck_ffs -I/usr/src/sbin/fsck_ffs/../mount -g -DRESCUE -std=gnu99 -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -c /usr/src/sbin/fsck_ffs/dir.c
cc -O0 -pipe -I/usr/src/sbin/fsck_ffs -I/usr/src/sbin/fsck_ffs/../mount -g -DRESCUE -std=gnu99 -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -c /usr/src/sbin/fsck_ffs/ea.c
cc -O0 -pipe -I/usr/src/sbin/fsck_ffs -I/usr/src/sbin/fsck_ffs/../mount -g -DRESCUE -std=gnu99 -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -c /usr/src/sbin/fsck_ffs/fsutil.c
cc -O0 -pipe -I/usr/src/sbin/fsck_ffs -I/usr/src/sbin/fsck_ffs/../mount -g -DRESCUE -std=gnu99 -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -c /usr/src/sbin/fsck_ffs/inode.c
cc -O0 -pipe -I/usr/src/sbin/fsck_ffs -I/usr/src/sbin/fsck_ffs/../mount -g -DRESCUE -std=gnu99 -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -c /usr/src/sbin/fsck_ffs/main.c
cc -O0 -pipe -I/usr/src/sbin/fsck_ffs -I/usr/src/sbin/fsck_ffs/../mount -g -DRESCUE -std=gnu99 -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -c /usr/src/sbin/fsck_ffs/pass1.c
cc -O0 -pipe -I/usr/src/sbin/fsck_ffs -I/usr/src/sbin/fsck_ffs/../mount -g -DRESCUE -std=gnu99 -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -c /usr/src/sbin/fsck_ffs/pass1b.c
cc -O0 -pipe -I/usr/src/sbin/fsck_ffs -I/usr/src/sbin/fsck_ffs/../mount -g -DRESCUE -std=gnu99 -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -c /usr/src/sbin/fsck_ffs/pass2.c
cc -O0 -pipe -I/usr/src/sbin/fsck_ffs -I/usr/src/sbin/fsck_ffs/../mount -g -DRESCUE -std=gnu99 -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -c /usr/src/sbin/fsck_ffs/pass3.c
cc -O0 -pipe -I/usr/src/sbin/fsck_ffs -I/usr/src/sbin/fsck_ffs/../mount -g -DRESCUE -std=gnu99 -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -c /usr/src/sbin/fsck_ffs/pass4.c
cc -O0 -pipe -I/usr/src/sbin/fsck_ffs -I/usr/src/sbin/fsck_ffs/../mount -g -DRESCUE -std=gnu99 -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -c /usr/src/sbin/fsck_ffs/pass5.c
cc -O0 -pipe -I/usr/src/sbin/fsck_ffs -I/usr/src/sbin/fsck_ffs/../mount -g -DRESCUE -std=gnu99 -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -c /usr/src/sbin/fsck_ffs/setup.c
cc -O0 -pipe -I/usr/src/sbin/fsck_ffs -I/usr/src/sbin/fsck_ffs/../mount -g -DRESCUE -std=gnu99 -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -c /usr/src/sbin/fsck_ffs/suj.c
In file included from /usr/src/sbin/fsck_ffs/suj.c:1982:
/usr/src/sbin/fsck_ffs/fsck.h:72: error: redefinition of 'union dinode'
/usr/src/sbin/fsck_ffs/fsck.h:94: error: redefinition of 'struct inostat'
/usr/src/sbin/fsck_ffs/fsck.h:121: error: redefinition of 'struct inostatlist'
/usr/src/sbin/fsck_ffs/fsck.h:129: error: redefinition of 'struct bufarea'
/usr/src/sbin/fsck_ffs/fsck.h:185: error: nested redefinition of 'enum fixstate'
/usr/src/sbin/fsck_ffs/fsck.h:185: error: redeclaration of 'enum fixstate'
/usr/src/sbin/fsck_ffs/fsck.h:185: error: redeclaration of enumerator 'DONTKNOW'
/usr/src/sbin/fsck_ffs/fsck.h:185: error: previous definition of 'DONTKNOW' was here
/usr/src/sbin/fsck_ffs/fsck.h:185: error: redeclaration of enumerator 'NOFIX'
/usr/src/sbin/fsck_ffs/fsck.h:185: error: previous definition of 'NOFIX' was here
/usr/src/sbin/fsck_ffs/fsck.h:185: error: redeclaration of enumerator 'FIX'
/usr/src/sbin/fsck_ffs/fsck.h:185: error: previous definition of 'FIX' was here
/usr/src/sbin/fsck_ffs/fsck.h:185: error: redeclaration of enumerator 'IGNORE'
/usr/src/sbin/fsck_ffs/fsck.h:185: error: previous definition of 'IGNORE' was here
/usr/src/sbin/fsck_ffs/fsck.h:188: error: redefinition of 'struct inodesc'
/usr/src/sbin/fsck_ffs/fsck.h:230: error: redefinition of 'struct dups'
/usr/src/sbin/fsck_ffs/fsck.h:240: error: redefinition of 'struct inoinfo'
/usr/src/sbin/fsck_ffs/suj.c:1990: error: redefinition of 'struct suj_seg'
/usr/src/sbin/fsck_ffs/suj.c:1996: error: redefinition of 'struct suj_rec'
/usr/src/sbin/fsck_ffs/suj.c:2000: error: redefinition of 'struct srechd'
/usr/src/sbin/fsck_ffs/suj.c:2002: error: redefinition of 'struct suj_ino'
/usr/src/sbin/fsck_ffs/suj.c:2012: error: redefinition of 'struct inohd'
/usr/src/sbin/fsck_ffs/suj.c:2014: error: redefinition of 'struct suj_blk'
/usr/src/sbin/fsck_ffs/suj.c:2019: error: redefinition of 'struct blkhd'
/usr/src/sbin/fsck_ffs/suj.c:2021: error: redefinition of 'struct data_blk'
/usr/src/sbin/fsck_ffs/suj.c:2028: error: redefinition of 'struct ino_blk'
/usr/src/sbin/fsck_ffs/suj.c:2034: error: redefinition of 'struct iblkhd'
/usr/src/sbin/fsck_ffs/suj.c:2036: error: redefinition of 'struct suj_cg'
/usr/src/sbin/fsck_ffs/suj.c:2048: error: redefinition of 'struct cghd'
/usr/src/sbin/fsck_ffs/suj.c:2049: error: redefinition of 'struct dblkhd'
/usr/src/sbin/fsck_ffs/suj.c:2051: error: redefinition of 'struct seghd'
/usr/src/sbin/fsck_ffs/suj.c:2053: error: redefinition of 'disk'
/usr/src/sbin/fsck_ffs/suj.c:119: error: previous definition of 'disk' was here
/usr/src/sbin/fsck_ffs/suj.c:2054: error: redefinition of 'fs'
/usr/src/sbin/fsck_ffs/suj.c:120: error: previous definition of 'fs' was here
/usr/src/sbin/fsck_ffs/suj.c:2064: error: redefinition of typedef 'ino_visitor'
/usr/src/sbin/fsck_ffs/suj.c:130: error: previous declaration of 'ino_visitor' was here
/usr/src/sbin/fsck_ffs/suj.c:2068: error: redefinition of 'errmalloc'
/usr/src/sbin/fsck_ffs/suj.c:134: error: previous definition of 'errmalloc' was here
/usr/src/sbin/fsck_ffs/suj.c:2082: error: redefinition of 'opendisk'
/usr/src/sbin/fsck_ffs/suj.c:148: error: previous definition of 'opendisk' was here
/usr/src/sbin/fsck_ffs/suj.c:2106: error: redefinition of 'closedisk'
/usr/src/sbin/fsck_ffs/suj.c:172: error: previous definition of 'closedisk' was here
/usr/src/sbin/fsck_ffs/suj.c:2142: error: redefinition of 'cg_lookup'
/usr/src/sbin/fsck_ffs/suj.c:208: error: previous definition of 'cg_lookup' was here
/usr/src/sbin/fsck_ffs/suj.c:2173: error: redefinition of 'ino_lookup'
/usr/src/sbin/fsck_ffs/suj.c:239: error: previous definition of 'ino_lookup' was here
/usr/src/sbin/fsck_ffs/suj.c:2201: error: redefinition of 'blk_lookup'
/usr/src/sbin/fsck_ffs/suj.c:267: error: previous definition of 'blk_lookup' was here
/usr/src/sbin/fsck_ffs/suj.c:2224: error: redefinition of 'dblk_read'
/usr/src/sbin/fsck_ffs/suj.c:290: error: previous definition of 'dblk_read' was here
/usr/src/sbin/fsck_ffs/suj.c:2257: error: redefinition of 'ino_read'
/usr/src/sbin/fsck_ffs/suj.c:323: error: previous definition of 'ino_read' was here
/usr/src/sbin/fsck_ffs/suj.c:2291: error: redefinition of 'ino_dirty'
/usr/src/sbin/fsck_ffs/suj.c:357: error: previous definition of 'ino_dirty' was here
/usr/src/sbin/fsck_ffs/suj.c:2317: error: redefinition of 'iblk_write'
/usr/src/sbin/fsck_ffs/suj.c:383: error: previous definition of 'iblk_write' was here
/usr/src/sbin/fsck_ffs/suj.c:2331: error: redefinition of 'ino_isfree'
/usr/src/sbin/fsck_ffs/suj.c:397: error: previous definition of 'ino_isfree' was here
/usr/src/sbin/fsck_ffs/suj.c:2347: error: redefinition of 'blk_overlaps'
/usr/src/sbin/fsck_ffs/suj.c:413: error: previous definition of 'blk_overlaps' was here
/usr/src/sbin/fsck_ffs/suj.c:2363: error: redefinition of 'blk_equals'
/usr/src/sbin/fsck_ffs/suj.c:429: error: previous definition of 'blk_equals' was here
/usr/src/sbin/fsck_ffs/suj.c:2376: error: redefinition of 'blk_setmask'
/usr/src/sbin/fsck_ffs/suj.c:442: error: previous definition of 'blk_setmask' was here
/usr/src/sbin/fsck_ffs/suj.c:2393: error: redefinition of 'blk_isfree'
/usr/src/sbin/fsck_ffs/suj.c:459: error: previous definition of 'blk_isfree' was here
/usr/src/sbin/fsck_ffs/suj.c:2443: error: redefinition of 'blk_isindir'
/usr/src/sbin/fsck_ffs/suj.c:509: error: previous definition of 'blk_isindir' was here
/usr/src/sbin/fsck_ffs/suj.c:2465: error: redefinition of 'ino_free'
/usr/src/sbin/fsck_ffs/suj.c:531: error: previous definition of 'ino_free' was here
/usr/src/sbin/fsck_ffs/suj.c:2502: error: redefinition of 'blk_free'
/usr/src/sbin/fsck_ffs/suj.c:568: error: previous definition of 'blk_free' was here
/usr/src/sbin/fsck_ffs/suj.c:2546: error: redefinition of 'indir_blkatoff'
/usr/src/sbin/fsck_ffs/suj.c:612: error: previous definition of 'indir_blkatoff' was here
/usr/src/sbin/fsck_ffs/suj.c:2597: error: redefinition of 'ino_blkatoff'
/usr/src/sbin/fsck_ffs/suj.c:663: error: previous definition of 'ino_blkatoff' was here
/usr/src/sbin/fsck_ffs/suj.c:2654: error: redefinition of 'blk_isat'
/usr/src/sbin/fsck_ffs/suj.c:720: error: previous definition of 'blk_isat' was here
/usr/src/sbin/fsck_ffs/suj.c:2673: error: redefinition of 'ino_isat'
/usr/src/sbin/fsck_ffs/suj.c:739: error: previous definition of 'ino_isat' was here
/usr/src/sbin/fsck_ffs/suj.c:2766: error: redefinition of 'indir_visit'
/usr/src/sbin/fsck_ffs/suj.c:832: error: previous definition of 'indir_visit' was here
/usr/src/sbin/fsck_ffs/suj.c:2827: error: redefinition of 'ino_visit'
/usr/src/sbin/fsck_ffs/suj.c:893: error: previous definition of 'ino_visit' was here
/usr/src/sbin/fsck_ffs/suj.c:2877: error: redefinition of 'null_visit'
/usr/src/sbin/fsck_ffs/suj.c:943: error: previous definition of 'null_visit' was here
/usr/src/sbin/fsck_ffs/suj.c:2888: error: redefinition of 'ino_adjblks'
/usr/src/sbin/fsck_ffs/suj.c:954: error: previous definition of 'ino_adjblks' was here
/usr/src/sbin/fsck_ffs/suj.c:2915: error: redefinition of 'blk_free_visit'
/usr/src/sbin/fsck_ffs/suj.c:981: error: previous definition of 'blk_free_visit' was here
/usr/src/sbin/fsck_ffs/suj.c:2931: error: redefinition of 'blk_free_lbn'
/usr/src/sbin/fsck_ffs/suj.c:997: error: previous definition of 'blk_free_lbn' was here
/usr/src/sbin/fsck_ffs/suj.c:2947: error: redefinition of 'ino_free_children'
/usr/src/sbin/fsck_ffs/suj.c:1013: error: previous definition of 'ino_free_children' was here
/usr/src/sbin/fsck_ffs/suj.c:3019: error: redefinition of 'ino_truncate'
/usr/src/sbin/fsck_ffs/suj.c:1085: error: previous definition of 'ino_truncate' was here
/usr/src/sbin/fsck_ffs/suj.c:3057: error: redefinition of 'ino_decr'
/usr/src/sbin/fsck_ffs/suj.c:1123: error: previous definition of 'ino_decr' was here
/usr/src/sbin/fsck_ffs/suj.c:3092: error: redefinition of 'ino_adjust'
/usr/src/sbin/fsck_ffs/suj.c:1158: error: previous definition of 'ino_adjust' was here
/usr/src/sbin/fsck_ffs/suj.c:3143: error: redefinition of 'ino_check'
/usr/src/sbin/fsck_ffs/suj.c:1209: error: previous definition of 'ino_check' was here
/usr/src/sbin/fsck_ffs/suj.c:3229: error: redefinition of 'blk_check'
/usr/src/sbin/fsck_ffs/suj.c:1295: error: previous definition of 'blk_check' was here
/usr/src/sbin/fsck_ffs/suj.c:3287: error: redefinition of 'cg_check'
/usr/src/sbin/fsck_ffs/suj.c:1353: error: previous definition of 'cg_check' was here
/usr/src/sbin/fsck_ffs/suj.c:3313: error: redefinition of 'cg_write'
/usr/src/sbin/fsck_ffs/suj.c:1379: error: previous definition of 'cg_write' was here
/usr/src/sbin/fsck_ffs/suj.c:3367: error: redefinition of 'cg_apply'
/usr/src/sbin/fsck_ffs/suj.c:1433: error: previous definition of 'cg_apply' was here
/usr/src/sbin/fsck_ffs/suj.c:3384: error: redefinition of 'suj_build_ino'
/usr/src/sbin/fsck_ffs/suj.c:1450: error: previous definition of 'suj_build_ino' was here
/usr/src/sbin/fsck_ffs/suj.c:3420: error: redefinition of 'suj_move_ino'
/usr/src/sbin/fsck_ffs/suj.c:1486: error: previous definition of 'suj_move_ino' was here
/usr/src/sbin/fsck_ffs/suj.c:3458: error: redefinition of 'suj_build_blk'
/usr/src/sbin/fsck_ffs/suj.c:1524: error: previous definition of 'suj_build_blk' was here
/usr/src/sbin/fsck_ffs/suj.c:3511: error: redefinition of 'suj_build'
/usr/src/sbin/fsck_ffs/suj.c:1577: error: previous definition of 'suj_build' was here
/usr/src/sbin/fsck_ffs/suj.c:3551: error: redefinition of 'suj_prune'
/usr/src/sbin/fsck_ffs/suj.c:1617: error: previous definition of 'suj_prune' was here
/usr/src/sbin/fsck_ffs/suj.c:3612: error: redefinition of 'suj_verifyino'
/usr/src/sbin/fsck_ffs/suj.c:1678: error: previous definition of 'suj_verifyino' was here
/usr/src/sbin/fsck_ffs/suj.c:3631: error: redefinition of 'struct jblocks'
/usr/src/sbin/fsck_ffs/suj.c:3638: error: redefinition of 'struct jextent'
/usr/src/sbin/fsck_ffs/suj.c:3647: error: redefinition of 'jblocks_create'
/usr/src/sbin/fsck_ffs/suj.c:1713: error: previous definition of 'jblocks_create' was here
/usr/src/sbin/fsck_ffs/suj.c:3669: error: redefinition of 'jblocks_next'
/usr/src/sbin/fsck_ffs/suj.c:1735: error: previous definition of 'jblocks_next' was here
/usr/src/sbin/fsck_ffs/suj.c:3699: error: redefinition of 'jblocks_advance'
/usr/src/sbin/fsck_ffs/suj.c:1765: error: previous definition of 'jblocks_advance' was here
/usr/src/sbin/fsck_ffs/suj.c:3706: error: redefinition of 'jblocks_destroy'
/usr/src/sbin/fsck_ffs/suj.c:1772: error: previous definition of 'jblocks_destroy' was here
/usr/src/sbin/fsck_ffs/suj.c:3714: error: redefinition of 'jblocks_add'
/usr/src/sbin/fsck_ffs/suj.c:1780: error: previous definition of 'jblocks_add' was here
/usr/src/sbin/fsck_ffs/suj.c:3755: error: redefinition of 'suj_add_block'
/usr/src/sbin/fsck_ffs/suj.c:1821: error: previous definition of 'suj_add_block' was here
/usr/src/sbin/fsck_ffs/suj.c:3762: error: redefinition of 'suj_read'
/usr/src/sbin/fsck_ffs/suj.c:1828: error: previous definition of 'suj_read' was here
/usr/src/sbin/fsck_ffs/suj.c:3830: error: redefinition of 'suj_check'
/usr/src/sbin/fsck_ffs/suj.c:1896: error: previous definition of 'suj_check' was here
*** Error code 1

Stop in /usr/src/sbin/fsck_ffs.
*** Error code 1

Stop in /usr/obj/usr/src/rescue/rescue.
*** Error code 1

Stop in /usr/src/rescue/rescue.
*** Error code 1

Stop in /usr/src/rescue.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.
evo#                                                                                                               
:"":
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35308
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Jeff Roberson добавил журналирование к UFS

Непрочитанное сообщение Alex Keda » 2010-01-09 21:23:55

в рассылку закинь
Убей их всех! Бог потом рассортирует...

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Jeff Roberson добавил журналирование к UFS

Непрочитанное сообщение terminus » 2010-01-09 21:29:31

Счас еще одну штуку попробую, если не получится - отпишусь.

У меня исходники от карента, но система еще 8.0-релиз :oops: Я решил одним махом накатить ее до карента и сразу же в процессе поставить патчи. Может поэтому не собирается, что родительская еще как бы не очень карент. :"": Сча сделаю карент по честному и попробую уже на нем...
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Jeff Roberson добавил журналирование к UFS

Непрочитанное сообщение terminus » 2010-04-21 14:16:27

http://lists.freebsd.org/pipermail/free ... 16746.html
Hi Folks,

You may have seen my other Soft-updates journaling (SUJ) announcements.
If not, it is a journaling system that works cooperatively with
soft-updates to eliminate the full background filesystem check after an
unclean shutdown. SUJ may be enabled with tunefs -j enable and disabled
with tunefs -j disable on an unmounted filesystem. It is backwards
compatible with soft-updates with no journal.

I'm going to do another round of tests and buildworld this afternoon to
verify the diff and then I'm committing to head. This is a very large
feature and fundamentally changes softupdates. Although it has been
extensively tested by many there may be unforseen problems. If you run
into an issue that you think may be suj please email me directly as well
as posting on current as I sometimes miss list email and this will ensure
the quickest response.

Thanks,
Jeff
SUJ теперь в CURRENT :good:
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35308
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Jeff Roberson добавил журналирование к UFS

Непрочитанное сообщение Alex Keda » 2010-04-21 15:08:36

атлично
ждём когда в 8 и можно потестить на продакшене =))
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35308
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Jeff Roberson добавил журналирование к UFS

Непрочитанное сообщение Alex Keda » 2010-04-21 19:58:31

тока что обновился пересобрался

Код: Выделить всё

tunefs -j
грит что нет такой опции.
чё-то недокоммитили чтоли?
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35308
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Jeff Roberson добавил журналирование к UFS

Непрочитанное сообщение Alex Keda » 2010-04-21 19:59:00

билят, почитал подробней - он ещё тестит...
Убей их всех! Бог потом рассортирует...