[PATCH] remember mode of reiserfs journal
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
c2dd0dae18
commit
e5eb8caa83
2 changed files with 5 additions and 2 deletions
|
@ -2575,7 +2575,7 @@ static int release_journal_dev(struct super_block *super,
|
|||
if (journal->j_dev_bd != NULL) {
|
||||
if (journal->j_dev_bd->bd_dev != super->s_dev)
|
||||
bd_release(journal->j_dev_bd);
|
||||
result = blkdev_put(journal->j_dev_bd, 0); /* move up */
|
||||
result = blkdev_put(journal->j_dev_bd, journal->j_dev_mode);
|
||||
journal->j_dev_bd = NULL;
|
||||
}
|
||||
|
||||
|
@ -2608,6 +2608,7 @@ static int journal_init_dev(struct super_block *super,
|
|||
/* there is no "jdev" option and journal is on separate device */
|
||||
if ((!jdev_name || !jdev_name[0])) {
|
||||
journal->j_dev_bd = open_by_devnum(jdev, blkdev_mode);
|
||||
journal->j_dev_mode = blkdev_mode;
|
||||
if (IS_ERR(journal->j_dev_bd)) {
|
||||
result = PTR_ERR(journal->j_dev_bd);
|
||||
journal->j_dev_bd = NULL;
|
||||
|
@ -2628,8 +2629,9 @@ static int journal_init_dev(struct super_block *super,
|
|||
return 0;
|
||||
}
|
||||
|
||||
journal->j_dev_mode = blkdev_mode;
|
||||
journal->j_dev_bd = open_bdev_exclusive(jdev_name,
|
||||
FMODE_READ|FMODE_WRITE, journal);
|
||||
blkdev_mode, journal);
|
||||
if (IS_ERR(journal->j_dev_bd)) {
|
||||
result = PTR_ERR(journal->j_dev_bd);
|
||||
journal->j_dev_bd = NULL;
|
||||
|
|
|
@ -178,6 +178,7 @@ struct reiserfs_journal {
|
|||
struct reiserfs_journal_cnode *j_first; /* oldest journal block. start here for traverse */
|
||||
|
||||
struct block_device *j_dev_bd;
|
||||
fmode_t j_dev_mode;
|
||||
int j_1st_reserved_block; /* first block on s_dev of reserved area journal */
|
||||
|
||||
unsigned long j_state;
|
||||
|
|
Loading…
Reference in a new issue