Messages in this thread Patch in this message | | | Date | Tue, 01 Jan 2002 22:11:42 +0100 | From | Manfred Spraul <> | Subject | [RFC] event cleanup, part 2 |
| |
Linus merged the first part of my patches that remove 'event' into 2.5.2-pre3.
Attached is the second patch.
patch 1: remove all event users except readdir(). Merged.
patch 2: replace 'f_version=++event' with 'f_version=0' in fs/*.c Attached.
patch 3: change the filesystems one by one. s/inode->i_version=++event/inode->i_version++/g vfat already uses that code for the revalidate handling. For readdir() it's impossible until step 2 is merged.
patch 4: remove event entirely.
I'm not yet sure if initializing i_version to 0 should be done in get_empty_inode() or in the fs that use the readdir optimization.
-- Manfreddiff -u 2.5/fs/block_dev.c build-2.5/fs/block_dev.c --- 2.5/fs/block_dev.c Mon Dec 31 13:41:01 2001 +++ build-2.5/fs/block_dev.c Tue Jan 1 20:15:27 2002 @@ -181,7 +181,6 @@ if (offset != file->f_pos) { file->f_pos = offset; file->f_reada = 0; - file->f_version = ++event; } retval = offset; } diff -u 2.5/fs/file_table.c build-2.5/fs/file_table.c --- 2.5/fs/file_table.c Sun Sep 30 16:25:45 2001 +++ build-2.5/fs/file_table.c Mon Dec 31 16:29:29 2001 @@ -43,7 +43,7 @@ new_one: memset(f, 0, sizeof(*f)); atomic_set(&f->f_count,1); - f->f_version = ++event; + f->f_version = 0; f->f_uid = current->fsuid; f->f_gid = current->fsgid; list_add(&f->f_list, &anon_list); diff -u 2.5/fs/read_write.c build-2.5/fs/read_write.c --- 2.5/fs/read_write.c Sat Aug 11 16:15:27 2001 +++ build-2.5/fs/read_write.c Mon Dec 31 16:29:44 2001 @@ -41,7 +41,6 @@ if (offset != file->f_pos) { file->f_pos = offset; file->f_reada = 0; - file->f_version = ++event; } retval = offset; } @@ -69,7 +68,6 @@ if (offset != file->f_pos) { file->f_pos = offset; file->f_reada = 0; - file->f_version = ++event; } retval = offset; }
| |