--- x/fs/reiserfs/ioctl.c +++ y/fs/reiserfs/ioctl.c @@ -92,8 +92,13 @@ long reiserfs_ioctl(struct file *filp, u * following two cases are taken from fs/ext2/ioctl.c by Remy * Card (card@masi.ibp.fr) */ - case REISERFS_IOC_GETVERSION: - err = put_user(inode->i_generation, (int __user *)arg); + case REISERFS_IOC_GETVERSION: { + __u32 g = inode->i_generation; + + reiserfs_write_unlock(inode->i_sb); + err = put_user(g, (int __user *)arg); + return err; + } break; case REISERFS_IOC_SETVERSION: if (!inode_owner_or_capable(&nop_mnt_idmap, inode)) {