LINUX.ORG.RU — Русская информация об ОС Linux

Сообщения e

Косяк с NFS в 2.6.19-rc* (fs/nfs/dir.c)

Форум - Development

В третьем релиз-кандидате (на самом деле - раньше, еще в rc1)
ядра поломался (а точнее пофиксился и неслабо проапдейтился)
клиентский код NFS, ниже приведен дифф на виновной функции.

Не заценит ли уважаемое кернел-хаккерское подмножетво ALL оные
и не подскажет ли - как вернуть поддержку NFS на путь исправления?

В асм ядра своими грязными руками лезть стремновато, за недостатком понимания что там и как...

#==============================================
# косячная функция
#==============================================

diff -urdN linux-2.6.18/fs/nfs/dir.c linux-2.6.19/fs/nfs/dir.c
--- linux-2.6.18/fs/nfs/dir.c	2006-10-28 00:21:02.130255000 +0400
+++ linux-2.6.19/fs/nfs/dir.c	2006-10-28 00:21:39.630255000 +0400
@@ -1,17 +1,24 @@
 void nfs_access_add_cache(struct inode *inode, struct nfs_access_entry *set)
 {
-	struct nfs_inode *nfsi = NFS_I(inode);
-	struct nfs_access_entry *cache = &nfsi->cache_access;
-
-	if (cache->cred != set->cred) {
-		if (cache->cred)
-			put_rpccred(cache->cred);
-		cache->cred = get_rpccred(set->cred);
-	}
-	/* FIXME: replace current access_cache BKL reliance with inode->i_lock */
-	spin_lock(&inode->i_lock);
-	nfsi->cache_validity &= ~NFS_INO_INVALID_ACCESS;
-	spin_unlock(&inode->i_lock);
+	struct nfs_access_entry *cache = kmalloc(sizeof(*cache), GFP_KERNEL);
+	if (cache == NULL)
+		return;
+	RB_CLEAR_NODE(&cache->rb_node);
 	cache->jiffies = set->jiffies;
+	cache->cred = get_rpccred(set->cred);
 	cache->mask = set->mask;
+
+	nfs_access_add_rbtree(inode, cache);
+
+	/* Update accounting */
+	smp_mb__before_atomic_inc();
+	atomic_long_inc(&nfs_access_nr_entries);
+	smp_mb__after_atomic_inc();
+
+	/* Add inode to global LRU list */
+	if (!test_and_set_bit(NFS_INO_ACL_LRU_SET, &NFS_FLAGS(inode))) {
+		spin_lock(&nfs_access_lru_lock);
+		list_add_tail(&NFS_I(inode)->access_cache_inode_lru, &nfs_access_lru_list);
+		spin_unlock(&nfs_access_lru_lock);
+	}
 }

#==============================================
# фрагмент include/asm/bitops.h (x86_64)
#==============================================

static __inline__ int test_and_set_bit(int nr, volatile void * addr)
{
	int oldbit;

	__asm__ __volatile__( LOCK_PREFIX
		"btsl %2,%1\n\tsbbl %0,%0"
		:"=r" (oldbit),"+m" (ADDR)
		:"dIr" (nr) : "memory");
	return oldbit;
}
e (28.10.2006 0:48:29)

XKB, непонятки

Форум - Desktop

Проапгрейдился до Х11-7.1.1, остальные пакеты - утянуты с
ftp://xorg.freedesktop.org/pub/individual/, xorg.conf перетащил
со старой системы, благо полностью идентичный набор пакетов.

Возник косяк - не переключаются раскладки, в логах присутствует
строчка: "(WW) Couldn't load XKB keymap, falling back to pre-XKB
keymap". Гуголь выдает тучу шаманских рецептов, ни один из которых
не заработал - сочинять что-то с использованием xmodmap ломает
(раньше все работало).

Кусок xorg.conf:

Section "InputDevice"
	Identifier	"Keyboard0"
	Driver		"kbd"
#	Option		"CoreKeyboard"
	Option		"XkbRules"		"xorg"
	Option		"XkbModel"		"pc105"
	Option		"XkbLayout"		"us,ru(winkeys)"
	Option		"XKbOptions"		"grp:ctrl_shift_toggle"
#	Option		"XkbTypes"		"complete"
	Option		"XkbGeometry"		"pc(pc105)"

#	Option		"XkbKeycodes"		"xorg"
#	Option		"CustomKeyCodes"	"on"
#	Option		"XkbCompat"		"basic+pc+iso9995"
EndSection

Не подскажет ли многоуважаемый ALL, в каком направлении
копать и какие логи требуются дополнительно?
e (23.10.2006 4:29:29)

Корпус.

Форум - Linux-hardware

Термалтейки, Зальманы, моддерство там всякое... в баню.

Что многоуважаемый ALL думает о реальных пацанских фулл-тауэрах, типа Chieftec BA-01/BA-02/CA-01 как зримом символе чего-то большого, осязаемого и надежного, да и пригодного к размещению не только стандартных компонентов, а куда более широкого набора железяк?

P.S. Если простыми словами - есть ли необходимость менять блок питания с штатного 450W max, при наличии больших нагрузок (8хSATA, для SCSI - понятное дело вопрос не стоит), много памяти, "прожорливый", насколько к нему применим данный термин, двухядерник от АМД (110 max TDP), как вариант - SMP из двух оптеронов, на нечто более пристойное? ИМХО если использовать пару видях старшей линейки в SLI/Crossfire - то придется точно, но сей вариант не рассматривается.

e (11.10.2006 1:57:01)

Yoggie Gatekeeper - заманчивые перспективы.

Новости - Hardware and Drivers
Группа Hardware and Drivers

Израильская компания Yoggie анонсировала выпуск "карманного файрволла", представляющего собой мини-компьютер под управлением ОС Linux. Устройство выпускается в 2 вариантах - обычный и Pro, и помимо скромных размеров имеет следующие характеристики:

CPU: 416Mhz (520Mhz) Intel XScale PXA270
RAM: 64MB (128MB) SDRAM + 64MB (128MB) NAND Flash
ROM: 4MB NOR Flash
NIC: 2 штуки
EXT: SD Card

В настоящее время устройство доступно для предварительного заказа, продажи начнутся с ноября 2006 года. Стоимость - 180 USD (200 USD за Pro версию).

P.S. Автор также надеется, что данная разработка может быть использована для выполнения куда более широкого спектра задач, чем изначально задумано разработчиками, с незначительными модификациями или даже вовсе без оных ;)

>>> Подробности

e (27.09.2006 21:15:32)

Сканер под линуху.

Форум - Linux-hardware

Собственно сабж, из опыта многоуважаемого ALL'а - какой стоит брать?

Присматриваюсь к Mustek bear paw 2448 ta pro, в SANE пишут что GOOD и даже слайд-модуль пашет.

Из основных требований - тот самый слайд модуль, CCD, не сильно шумная работа, разрешения хватит и 1200^2, лишь бы была нормальная цветопередача.

e (25.09.2006 17:02:23)

NFS под вендой.

Форум - General

В курсе ли уважаемый ALL - возможно монтирование NFS под вендой (xp prof sp2) без установки дополнительных костылей за денюжку, а также без задействования непотребного и богопротивного Windows services for UNIX (эффект антиворобьиной пушки)?

Помнится когда-то такое было возможным, а сейчас даже и не знаю, куда ткнуться, MS KB бормочет какой-то невнятный бред на тему того же SFU...

e (18.09.2006 23:31:14)

Проклятая венда...

Форум - General

Суть в следующем - есть асусовская мать на nforce-4-sli, двухголовый атлон64 на ней, корзинка сата-шных винтов и один-единственный идешный двд-привод. Никакого разгона, линукс работает как часы. Попытка заинсталлить венды ХыПы с интегрированным сервиспаком номер 2 (а также #1, вовсе без оного, win2k, winme и даже дос) выдает одинаковую ошибку - черный экран после выдачи "тыцни в любую клавишу дабы грузануться с ЦД".

Притом, год с копейками назад при схожих условиях (только проц был одноядерным) xp ставилась с гимором - но все же ставилась.

Наблюдал ли всемогущий ALL схожие симптомы и какие могут быть рекомендации?

e (16.09.2006 3:09:26)

О Сервере - Правила форума
http://www.linux.org.ru/

Rambler's Top100 Рейтинг@Mail.ru