Evigny, Nice work. It's always compiled for me however on 3.11.1 and I just 10 mins ago patched to 3.11.1-rc1 and it compiled there too and I'm emerging packages on Gentoo as we speak. fyi 3.11.1 seems like a really good release if anyone's interested. I am interested in getting it working on 3.12.x which Mathieu is working on I believe. Best, Chris On 09/18/13 13:20, Evgeniy wrote: > 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