Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 186624
b: refs/heads/master
c: 182374a
h: refs/heads/master
v: v3
  • Loading branch information
Evgeniy Polyakov authored and Greg Kroah-Hartman committed Mar 4, 2010
1 parent 664026c commit 959e390
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 3 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: e3c0acf44d837d3095ab8222d3271f9ba0d3db44
refs/heads/master: 182374a0bddeef46769d2f8ab56fcccc433b96f3
20 changes: 18 additions & 2 deletions trunk/drivers/staging/pohmelfs/inode.c
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
#define POHMELFS_MAGIC_NUM 0x504f482e

static struct kmem_cache *pohmelfs_inode_cache;
static atomic_t psb_bdi_num = ATOMIC_INIT(0);

/*
* Removes inode from all trees, drops local name cache and removes all queued
Expand Down Expand Up @@ -1331,6 +1332,8 @@ static void pohmelfs_put_super(struct super_block *sb)
pohmelfs_crypto_exit(psb);
pohmelfs_state_exit(psb);

bdi_destroy(&psb->bdi);

kfree(psb);
sb->s_fs_info = NULL;
}
Expand Down Expand Up @@ -1814,11 +1817,22 @@ static int pohmelfs_fill_super(struct super_block *sb, void *data, int silent)
if (!psb)
goto err_out_exit;

err = bdi_init(&psb->bdi);
if (err)
goto err_out_free_sb;

err = bdi_register(&psb->bdi, NULL, "pfs-%d", atomic_inc_return(&psb_bdi_num));
if (err) {
bdi_destroy(&psb->bdi);
goto err_out_free_sb;
}

sb->s_fs_info = psb;
sb->s_op = &pohmelfs_sb_ops;
sb->s_magic = POHMELFS_MAGIC_NUM;
sb->s_maxbytes = MAX_LFS_FILESIZE;
sb->s_blocksize = PAGE_SIZE;
sb->s_bdi = &psb->bdi;

psb->sb = sb;

Expand Down Expand Up @@ -1862,11 +1876,11 @@ static int pohmelfs_fill_super(struct super_block *sb, void *data, int silent)

err = pohmelfs_parse_options((char *) data, psb, 0);
if (err)
goto err_out_free_sb;
goto err_out_free_bdi;

err = pohmelfs_copy_crypto(psb);
if (err)
goto err_out_free_sb;
goto err_out_free_bdi;

err = pohmelfs_state_init(psb);
if (err)
Expand Down Expand Up @@ -1915,6 +1929,8 @@ static int pohmelfs_fill_super(struct super_block *sb, void *data, int silent)
err_out_free_strings:
kfree(psb->cipher_string);
kfree(psb->hash_string);
err_out_free_bdi:
bdi_destroy(&psb->bdi);
err_out_free_sb:
kfree(psb);
err_out_exit:
Expand Down
3 changes: 3 additions & 0 deletions trunk/drivers/staging/pohmelfs/netfs.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@

#include <linux/types.h>
#include <linux/connector.h>
#include <linux/backing-dev.h>

#define POHMELFS_CN_IDX 5
#define POHMELFS_CN_VAL 0
Expand Down Expand Up @@ -624,6 +625,8 @@ struct pohmelfs_sb {

struct super_block *sb;

struct backing_dev_info bdi;

/*
* Algorithm strings.
*/
Expand Down

0 comments on commit 959e390

Please sign in to comment.