hostfs_readdir_large.patch

来自「非常经典的一个分布式系统」· PATCH 代码 · 共 33 行

PATCH
33
字号
Index: linux-2.6.10/fs/hostfs/hostfs_user.c===================================================================--- linux-2.6.10.orig/fs/hostfs/hostfs_user.c	2004-12-25 05:35:15.000000000 +0800+++ linux-2.6.10/fs/hostfs/hostfs_user.c	2005-03-31 19:26:03.810175656 +0800@@ -121,13 +121,26 @@ { 	DIR *dir = stream; 	struct dirent *ent;+        off_t off = 0;+        off_t after_seek = 0;+        off_t after_readdir = 0;+        off_t after_readdir2 = 0;  	seekdir(dir, *pos);+        after_seek = telldir(dir); 	ent = readdir(dir);+	after_readdir = telldir(dir);+	if ( after_seek != after_readdir ) {+		off = after_readdir;+	} else {+		readdir(dir);+		after_readdir2 = telldir(dir);+		off = after_readdir2;+	} 	if(ent == NULL) return(NULL); 	*len_out = strlen(ent->d_name); 	*ino_out = ent->d_ino;-	*pos = telldir(dir);+	*pos = off; 	return(ent->d_name); } 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?