Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 130865
b: refs/heads/master
c: 27ad279
h: refs/heads/master
i:
  130863: b654a2a
v: v3
  • Loading branch information
Artem Bityutskiy authored and Artem Bityutskiy committed Jan 29, 2009
1 parent 304e80d commit 8186067
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 55 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: a2b9df3ff691db8e5e521dccd231a8098bbf7416
refs/heads/master: 27ad27993313312a4ad0047d0a944c425cd511a5
7 changes: 0 additions & 7 deletions trunk/Documentation/filesystems/ubifs.txt
Original file line number Diff line number Diff line change
Expand Up @@ -79,13 +79,6 @@ Mount options

(*) == default.

norm_unmount (*) commit on unmount; the journal is committed
when the file-system is unmounted so that the
next mount does not have to replay the journal
and it becomes very fast;
fast_unmount do not commit on unmount; this option makes
unmount faster, but the next mount slower
because of the need to replay the journal.
bulk_read read more in one go to take advantage of flash
media that read faster sequentially
no_bulk_read (*) do not bulk-read
Expand Down
50 changes: 5 additions & 45 deletions trunk/fs/ubifs/super.c
Original file line number Diff line number Diff line change
Expand Up @@ -957,13 +957,16 @@ static int ubifs_parse_options(struct ubifs_info *c, char *options,

token = match_token(p, tokens, args);
switch (token) {
/*
* %Opt_fast_unmount and %Opt_norm_unmount options are ignored.
* We accepte them in order to be backware-compatible. But this
* should be removed at some point.
*/
case Opt_fast_unmount:
c->mount_opts.unmount_mode = 2;
c->fast_unmount = 1;
break;
case Opt_norm_unmount:
c->mount_opts.unmount_mode = 1;
c->fast_unmount = 0;
break;
case Opt_bulk_read:
c->mount_opts.bulk_read = 2;
Expand Down Expand Up @@ -1359,7 +1362,6 @@ static int mount_ubifs(struct ubifs_info *c)
c->uuid[4], c->uuid[5], c->uuid[6], c->uuid[7],
c->uuid[8], c->uuid[9], c->uuid[10], c->uuid[11],
c->uuid[12], c->uuid[13], c->uuid[14], c->uuid[15]);
dbg_msg("fast unmount: %d", c->fast_unmount);
dbg_msg("big_lpt %d", c->big_lpt);
dbg_msg("log LEBs: %d (%d - %d)",
c->log_lebs, UBIFS_LOG_LNUM, c->log_last);
Expand Down Expand Up @@ -1615,38 +1617,6 @@ static int ubifs_remount_rw(struct ubifs_info *c)
return err;
}

/**
* commit_on_unmount - commit the journal when un-mounting.
* @c: UBIFS file-system description object
*
* This function is called during un-mounting and re-mounting, and it commits
* the journal unless the "fast unmount" mode is enabled.
*/
static void commit_on_unmount(struct ubifs_info *c)
{
long long bud_bytes;

if (!c->fast_unmount) {
dbg_gen("skip committing - fast unmount enabled");
return;
}

/*
* This function is called before the background thread is stopped, so
* we may race with ongoing commit, which means we have to take
* @c->bud_lock to access @c->bud_bytes.
*/
spin_lock(&c->buds_lock);
bud_bytes = c->bud_bytes;
spin_unlock(&c->buds_lock);

if (bud_bytes) {
dbg_gen("run commit");
ubifs_run_commit(c);
} else
dbg_gen("journal is empty, do not run commit");
}

/**
* ubifs_remount_ro - re-mount in read-only mode.
* @c: UBIFS file-system description object
Expand All @@ -1661,7 +1631,6 @@ static void ubifs_remount_ro(struct ubifs_info *c)
ubifs_assert(!c->need_recovery);
ubifs_assert(!(c->vfs_sb->s_flags & MS_RDONLY));

commit_on_unmount(c);
mutex_lock(&c->umount_mutex);
if (c->bgt) {
kthread_stop(c->bgt);
Expand Down Expand Up @@ -2077,15 +2046,6 @@ static int ubifs_get_sb(struct file_system_type *fs_type, int flags,

static void ubifs_kill_sb(struct super_block *sb)
{
struct ubifs_info *c = sb->s_fs_info;

/*
* We do 'commit_on_unmount()' here instead of 'ubifs_put_super()'
* in order to be outside BKL.
*/
if (sb->s_root && !(sb->s_flags & MS_RDONLY))
commit_on_unmount(c);
/* The un-mount routine is actually done in put_super() */
generic_shutdown_super(sb);
}

Expand Down
2 changes: 0 additions & 2 deletions trunk/fs/ubifs/ubifs.h
Original file line number Diff line number Diff line change
Expand Up @@ -961,7 +961,6 @@ struct ubifs_debug_info;
* @cs_lock: commit state lock
* @cmt_wq: wait queue to sleep on if the log is full and a commit is running
*
* @fast_unmount: do not run journal commit before un-mounting
* @big_lpt: flag that LPT is too big to write whole during commit
* @no_chk_data_crc: do not check CRCs when reading data nodes (except during
* recovery)
Expand Down Expand Up @@ -1202,7 +1201,6 @@ struct ubifs_info {
spinlock_t cs_lock;
wait_queue_head_t cmt_wq;

unsigned int fast_unmount:1;
unsigned int big_lpt:1;
unsigned int no_chk_data_crc:1;
unsigned int bulk_read:1;
Expand Down

0 comments on commit 8186067

Please sign in to comment.