31

newzenon
Тут все довольно просто, если выполнить patch -Np0 -i reiser4.patch, вы видите что стоит после p цифра ноль, то извлекается исходник в папку reiser4 которая находится в текущем каталоге( в котором вы находитесь: pwd)
если параметр -Np1 то извлекается исходник непосредственно в тот каталог в котором вы находитесь(не в папку reiser4).

32

-i это то же самое что и <

33 (03.12.2011 21:59:45 отредактировано zenon)

Брррр...
Исходники ядра у меня в /usr/src/linux
Вот я распаковал твой архив:

>ls /usr/src/linux/fs/reiser4                                               /usr/src/linux/ :)
Kconfig.diff        entd.h.diff         ktxnmgrd.h.diff      super_ops.c.diff
Makefile.diff       eottl.c.diff        lock.c.diff          tap.c.diff
README.diff         estimate.c.diff     lock.h.diff          tap.h.diff
as_ops.c.diff       export_ops.c.diff   oid.c.diff           tree.c.diff
block_alloc.c.diff  flush.c.diff        page_cache.c.diff    tree.h.diff
block_alloc.h.diff  flush.h.diff        page_cache.h.diff    tree_mod.c.diff
blocknrset.c.diff   flush_queue.c.diff  plugin/              tree_mod.h.diff
carry.c.diff        forward.h.diff      pool.c.diff          tree_walk.c.diff
carry.h.diff        fsdata.c.diff       pool.h.diff          tree_walk.h.diff
carry_ops.c.diff    fsdata.h.diff       readahead.c.diff     txnmgr.c.diff
carry_ops.h.diff    init_super.c.diff   readahead.h.diff     txnmgr.h.diff
context.c.diff      inode.c.diff        reiser4.h.diff       type_safe_hash.h.diff
context.h.diff      inode.h.diff        safe_link.c.diff     vfs_ops.c.diff
coord.c.diff        ioctl.h.diff        safe_link.h.diff     vfs_ops.h.diff
coord.h.diff        jnode.c.diff        seal.c.diff          wander.c.diff
debug.c.diff        jnode.h.diff        seal.h.diff          wander.h.diff
debug.h.diff        kassign.c.diff      search.c.diff        writeout.h.diff
dformat.h.diff      kassign.h.diff      status_flags.c.diff  znode.c.diff
dscale.c.diff       key.c.diff          status_flags.h.diff  znode.h.diff
dscale.h.diff       key.h.diff          super.c.diff
entd.c.diff         ktxnmgrd.c.diff     super.h.diff
>cd /usr/src/linux/fs/reiser4    

                   

И?

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

34

)))
Хотите откатить наложенный патч?

Cудя по всему ставили с параметром -p1 находясь в каталоге ядра.
Тогда находясь в каталоге ядра выполните команду:

 Консоль:
# patch -Np1 -R -i путь/reiser4.patch

все наложенное будет удалено.

35 (03.12.2011 22:45:16 отредактировано zenon)

ormorph, cейчас чистые исходники 3.1.4 и твой распакованный архив в /usr/src/linux/fs/reiser4, как наложить-то?

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

36

newzenon
Разработчик данного исходника сам, создавал патч той же самой командой что и я,по этому в нем кроме добавления исходника в каталоге reiser4 правятся файлы самого ядра, тем более я уже проверял данный исходник подменив просто каталог в fs/reiser4 на этот исходник, он так же не собирается.

Не мучайтесь smile

37

ormorph, Так то что выложил это не исходник, это diff'ы.
Ну да ладно приспичит поставлю 38-ое или 39-ое там reiser4 нормально работал.

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

38

newzenon пишет:

ormorph, Так то что выложил это не исходник, это diff'ы.
Ну да ладно приспичит поставлю 38-ое или 39-ое там reiser4 нормально работал.

Ну по чему, это как раз исходник, так как diff утилита которая записывает изменения, то когда берется два каталога для сравнения, при этом один пустой, то в файл записывается полное содержимое полного каталога, можете проверить, после установки патча, его размер стал 30М, потерялись только данные даты создания файлов, их дата стала теперь число установки патча, а так все содержимое на месте.
Просто когда то качал данный исходник с git командой что я в начале давал.
Если сравнить командой diff, оригинал и установленный патч в пустой каталог, то изменения отсутствуют.
Просто данный исходник в виде патча весит очень мало, по сравнению с архивом.

39

Так из какого каталога тогда сам патч запускать?
Допустим создам пустой каталог

 Консоль:
$ mkdir /usr/src/linux/fs/reiser4
$ cd /usr/src/linux
$ wget http://ompldr.org/vYmtnNg/reiser4.patch.bz2
$ bunzip2 reiser4.patch.bz2
$ patch -Np0 -i reiser4.patch

Или перед bunzip надо было перейти в /usr/src/linux/fs/
А после в /usr/src/linux/fs/reiser4
Запутал меня совсем...  ac

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

40 (04.12.2011 00:31:00 отредактировано ormorph)

newzenon пишет:

Так из какого каталога тогда сам патч запускать?
Допустим создам пустой каталог

 Консоль:
$ mkdir /usr/src/linux/fs/reiser4
$ cd /usr/src/linux
$ wget http://ompldr.org/vYmtnNg/reiser4.patch.bz2
$ bunzip2 reiser4.patch.bz2
$ patch -Np0 -i reiser4.patch

Или перед bunzip надо было перейти в /usr/src/linux/fs/
А после в /usr/src/linux/fs/reiser4
Запутал меня совсем...  ac

О нет так не делается smile
тогда уж после mkdir /usr/src/linux/fs/reiser4
выполнить cd /usr/src/linux/fs/
Просто посмотрите на команду которой создавался патч там каталог reiser4 является источником исходника.
0 -означает то же самое положение к каталогу, при котором создавался патч. Т.е. команда в обоих случаях ls покажет перед собой каталог reiser4

Просто патч это хороший способ хранить текстовую информацию, бинарники только нельзя, можете посмотреть какая информация единственно утеряна в результате выполнения утилиты diff
Выполнив команду:
cat reiser4.patch |grep Binary
Потеряна только бинарная информация, необходимая для утилиты git, сам же исходник без изменений.

Зы: Создатель оригинального патча(reiser4-for-2.6.38.patch) создавал его командой: diff -urN linux-2.6.38.orig linux-2.6.38 , где linux-2.6.38.orig начальный исходник, а linux-2.6.38 исходник в котором сделаны изменения.
Все аналогично как я описывал в начале.

41

Так, ну хорошо

>ls /usr/src/linux/fs/reiser4                                                                                          /usr/src/linux/ :)
Kconfig        carry_ops.c  dscale.c      flush_queue.c  jnode.h     oid.c         safe_link.c     super_ops.c  txnmgr.c          znode.h
Makefile       carry_ops.h  dscale.h      forward.h      kassign.c   page_cache.c  safe_link.h     tap.c        txnmgr.h
README         context.c    entd.c        fsdata.c       kassign.h   page_cache.h  seal.c          tap.h        type_safe_hash.h
as_ops.c       context.h    entd.h        fsdata.h       key.c       plugin/       seal.h          tree.c       vfs_ops.c
block_alloc.c  coord.c      eottl.c       init_super.c   key.h       pool.c        search.c        tree.h       vfs_ops.h
block_alloc.h  coord.h      estimate.c    inode.c        ktxnmgrd.c  pool.h        status_flags.c  tree_mod.c   wander.c
blocknrset.c   debug.c      export_ops.c  inode.h        ktxnmgrd.h  readahead.c   status_flags.h  tree_mod.h   wander.h
carry.c        debug.h      flush.c       ioctl.h        lock.c      readahead.h   super.c         tree_walk.c  writeout.h
carry.h        dformat.h    flush.h       jnode.c        lock.h      reiser4.h     super.h         tree_walk.h  znode.c

Но menuconfig об этом не знает ничего.

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

42

newzenon пишет:

Но menuconfig об этом не знает ничего.

Ну а menuconfig и не должно знать тут не хватает еще поправить файлы самого ядра )
Я же вам сказал не заморачивайтесь этим, выложил просто для спортивного интереса этот исходник, он не обязательно должен быть рабочим, так как в git создатель выкладывал все изменения исходника, при чем не обязательно рабочие.
Самое простое ставите патч reiser4-for-2.6.38.patch далее очищаете содержимое каталога fs/reiser4 и ставите на него патч с исходником и пробуете.