Hello guys, FIrst of all, I'm not a programmer. Today I was playing a little bit with current version reiser4 for 3.11 kernel and it seems I fixed the the problem with compilation. I did't have posibility to test it yet. But at least it compilles fine. Here is patch for branch reiser4-for-3.11 (https://github.com/DestroyFX/reiser4). diff -Naur reiser4-3.11/fs/reiser4/fsdata.c linux-3.11.1/fs/reiser4/fsdata.c --- reiser4-3.11/fs/reiser4/fsdata.c 2013-09-18 14:31:22.065970590 +0300 +++ linux-3.11.1/fs/reiser4/fsdata.c 2013-09-18 15:58:30.836601962 +0300 @@ -16,7 +16,7 @@ static unsigned long d_cursor_unused = 0; /* spinlock protecting manipulations with dir_cursor's hash table and lists */ -DEFINE_SPINLOCK(d_lock); +DEFINE_SPINLOCK(d_lockref); static reiser4_file_fsdata *create_fsdata(struct file *file); static int file_is_stateless(struct file *file); @@ -36,7 +36,7 @@ if (sc->nr_to_scan != 0) { dir_cursor *scan; - spin_lock(&d_lock); + spin_lock(&d_lockref); while (!list_empty(&cursor_cache)) { scan = list_entry(cursor_cache.next, dir_cursor, alist); assert("nikita-3567", scan->ref == 0); @@ -45,7 +45,7 @@ if (sc->nr_to_scan == 0) break; } - spin_unlock(&d_lock); + spin_unlock(&d_lockref); } return d_cursor_unused; } @@ -277,13 +277,13 @@ if (fsdata != NULL) { cursor = fsdata->cursor; if (cursor != NULL) { - spin_lock(&d_lock); + spin_lock(&d_lockref); --cursor->ref; if (cursor->ref == 0) { list_add_tail(&cursor->alist, &cursor_cache); ++d_cursor_unused; } - spin_unlock(&d_lock); + spin_unlock(&d_lockref); file->private_data = NULL; } } @@ -350,12 +350,12 @@ file->private_data = fsdata; fsdata->cursor = cursor; spin_unlock_inode(inode); - spin_lock(&d_lock); + spin_lock(&d_lockref); /* insert cursor into hash table */ d_cursor_hash_insert(&info->table, cursor); /* and chain it into radix-tree */ bind_cursor(cursor, (unsigned long)oid); - spin_unlock(&d_lock); + spin_unlock(&d_lockref); radix_tree_preload_end(); file->f_pos = ((__u64) cursor->key.cid) << CID_SHIFT; } @@ -398,7 +398,7 @@ oid = get_inode_oid(inode); spin_lock_inode(inode); head = get_readdir_list(inode); - spin_lock(&d_lock); + spin_lock(&d_lockref); /* find any cursor for this oid: reference to it is hanging of radix * tree */ start = lookup(info, (unsigned long)oid); @@ -433,7 +433,7 @@ scan = next; } while (scan != start); } - spin_unlock(&d_lock); + spin_unlock(&d_lockref); /* check that we killed 'em all */ assert("nikita-3568", ergo(act == CURSOR_KILL, @@ -548,7 +548,7 @@ key.cid = pos >> CID_SHIFT; key.oid = get_inode_oid(inode); - spin_lock(&d_lock); + spin_lock(&d_lockref); cursor = d_cursor_hash_find(&d_info(inode)->table, &key); if (cursor != NULL) { /* cursor was found */ @@ -559,7 +559,7 @@ } ++cursor->ref; } - spin_unlock(&d_lock); + spin_unlock(&d_lockref); if (cursor != NULL) { spin_lock_inode(inode); assert("nikita-3556", cursor->fsdata->back == NULL); diff -Naur reiser4-3.11/fs/reiser4/fsdata.h linux-3.11.1/fs/reiser4/fsdata.h --- reiser4-3.11/fs/reiser4/fsdata.h 2013-09-18 14:31:22.065970590 +0300 +++ linux-3.11.1/fs/reiser4/fsdata.h 2013-09-18 15:56:44.438932116 +0300 @@ -189,7 +189,7 @@ }; /* spinlock protecting readdir cursors */ -extern spinlock_t d_lock; +extern spinlock_t d_lockref; /* __REISER4_FSDATA_H__ */ #endif diff -Naur reiser4-3.11/fs/reiser4/plugin/file/file.c linux-3.11.1/fs/reiser4/plugin/file/file.c --- reiser4-3.11/fs/reiser4/plugin/file/file.c 2013-09-18 14:31:22.071970515 +0300 +++ linux-3.11.1/fs/reiser4/plugin/file/file.c 2013-09-18 16:00:04.635429315 +0300 @@ -2318,7 +2318,7 @@ uf_info = unix_file_inode_data(inode); get_exclusive_access_careful(uf_info, inode); - if (file->f_dentry->d_count == 1 && + if (file->f_dentry->d_lockref.count == 1 && uf_info->container == UF_CONTAINER_EXTENTS && !should_have_notail(uf_info, inode->i_size) && !rofs_inode(inode)) { On 18 September 2013 09:59, Chris Gentile <cnjgentile@xxxxxxxxx> wrote: > Don't know how to code :( > > I am in include/linux/dcache.h right now at the first line where the > error occurs... I wonder where I put one of the characters it suggests?? > The line reads: (gives same error as you mentioned) > > #define d_lock d_lockref.lock > > I guess it needs some type of character before the period?? What do you > think? > > > > > On 09/18/13 06:54, Mathieu Belanger wrote: >> you can edit the code directly. >> >> Tell me if it compile after that. >> If it compile you can make a patch with git (git diff > >> /tmp/patch.patch) or you can clone, work on your clone, commit and do >> a pull request so I can add it. >> >> I can also add you as maintainer if you want to work directly on it. >> >> >> >> Also, I get that error with 3.11 and 3.12-rc1 but not with 3.11-rc4 : >> >> In file included from fs/reiser4/super.h:14:0, >> from fs/reiser4/debug.c:28: >> fs/reiser4/fsdata.h:192:19: error: expected '=', ',', ';', 'asm' or >> '__attribute__' before '.' token >> >> >> >> 3.11-rc4 compile fine. > -- To unsubscribe from this list: send the line "unsubscribe reiserfs-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html