static void yaffs_gross_lock(struct yaffs_dev *dev)
{
T(YAFFS_TRACE_LOCK, (TSTR("yaffs locking %p\n"), current));
- down(&(yaffs_dev_to_lc(dev)->gross_lock));
+ mutex_lock(&(yaffs_dev_to_lc(dev)->gross_lock));
T(YAFFS_TRACE_LOCK, (TSTR("yaffs locked %p\n"), current));
}
static void yaffs_gross_unlock(struct yaffs_dev *dev)
{
T(YAFFS_TRACE_LOCK, (TSTR("yaffs unlocking %p\n"), current));
- up(&(yaffs_dev_to_lc(dev)->gross_lock));
+ mutex_unlock(&(yaffs_dev_to_lc(dev)->gross_lock));
}
#ifdef YAFFS_COMPILE_EXPORTFS
next_gc = now + HZ / 10 + 1;
else
next_gc = now + HZ * 2;
- } else /*
+ } else {
+ /*
* gc not running so set to next_dir_update
* to cut down on wake ups
*/
next_gc = next_dir_update;
+ }
}
yaffs_gross_unlock(dev);
#if 1
#endif
static LIST_HEAD(yaffs_context_list);
-struct semaphore yaffs_context_lock;
+struct mutex yaffs_context_lock;
static void yaffs_put_super(struct super_block *sb)
{
yaffs_gross_unlock(dev);
- down(&yaffs_context_lock);
+ mutex_lock(&yaffs_context_lock);
list_del_init(&(yaffs_dev_to_lc(dev)->context_list));
- up(&yaffs_context_lock);
+ mutex_unlock(&yaffs_context_lock);
if (yaffs_dev_to_lc(dev)->spare_buffer) {
YFREE(yaffs_dev_to_lc(dev)->spare_buffer);
options_str++;
}
- if (!strcmp(cur_opt, "inband-tags"))
+ if (!strcmp(cur_opt, "inband-tags")) {
options->inband_tags = 1;
- else if (!strcmp(cur_opt, "tags-ecc-off")) {
+ } else if (!strcmp(cur_opt, "tags-ecc-off")) {
options->tags_ecc_on = 0;
options->tags_ecc_overridden = 1;
} else if (!strcmp(cur_opt, "tags-ecc-on")) {
} else if (!strcmp(cur_opt, "empty-lost-and-found-on")) {
options->empty_lost_and_found = 1;
options->empty_lost_and_found_overridden = 1;
- } else if (!strcmp(cur_opt, "no-cache"))
+ } else if (!strcmp(cur_opt, "no-cache")) {
options->no_cache = 1;
- else if (!strcmp(cur_opt, "no-checkpoint-read"))
+ } else if (!strcmp(cur_opt, "no-checkpoint-read")) {
options->skip_checkpoint_read = 1;
- else if (!strcmp(cur_opt, "no-checkpoint-write"))
+ } else if (!strcmp(cur_opt, "no-checkpoint-write")) {
options->skip_checkpoint_write = 1;
- else if (!strcmp(cur_opt, "no-checkpoint")) {
+ } else if (!strcmp(cur_opt, "no-checkpoint")) {
options->skip_checkpoint_read = 1;
options->skip_checkpoint_write = 1;
} else {
param->skip_checkpt_rd = options.skip_checkpoint_read;
param->skip_checkpt_wr = options.skip_checkpoint_write;
- down(&yaffs_context_lock);
+ mutex_lock(&yaffs_context_lock);
/* Get a mount id */
found = 0;
for (mount_id = 0; !found; mount_id++) {
list_add_tail(&(yaffs_dev_to_lc(dev)->context_list),
&yaffs_context_list);
- up(&yaffs_context_lock);
+ mutex_unlock(&yaffs_context_lock);
/* Directory search handling... */
INIT_LIST_HEAD(&(yaffs_dev_to_lc(dev)->search_contexts));
param->remove_obj_fn = yaffs_remove_obj_callback;
- init_MUTEX(&(yaffs_dev_to_lc(dev)->gross_lock));
+ mutex_init(&(yaffs_dev_to_lc(dev)->gross_lock));
yaffs_gross_lock(dev);
else {
step -= 2;
- down(&yaffs_context_lock);
+ mutex_lock(&yaffs_context_lock);
/* Locate and print the Nth entry. Order N-squared but N is small. */
list_for_each(item, &yaffs_context_list) {
sprintf(buf, "\nDevice %d \"%s\"\n", n,
dev->param.name);
buf = yaffs_dump_dev_part0(buf, dev);
- } else
+ } else {
buf = yaffs_dump_dev_part1(buf, dev);
+ }
break;
}
- up(&yaffs_context_lock);
+ mutex_unlock(&yaffs_context_lock);
}
return buf - page < count ? buf - page : count;
char *buf = page;
int n = 0;
- down(&yaffs_context_lock);
+ mutex_lock(&yaffs_context_lock);
/* Locate and print the Nth entry. Order N-squared but N is small. */
list_for_each(item, &yaffs_context_list) {
dev->bg_gcs, dev->oldest_dirty_gc_count,
dev->n_obj, dev->n_tnodes);
}
- up(&yaffs_context_lock);
+ mutex_unlock(&yaffs_context_lock);
return buf - page < count ? buf - page : count;
}
char *mask_name;
unsigned mask_bitfield;
} mask_flags[] = {
- {
- "allocate", YAFFS_TRACE_ALLOCATE}, {
- "always", YAFFS_TRACE_ALWAYS}, {
- "background", YAFFS_TRACE_BACKGROUND}, {
- "bad_blocks", YAFFS_TRACE_BAD_BLOCKS}, {
- "buffers", YAFFS_TRACE_BUFFERS}, {
- "bug", YAFFS_TRACE_BUG}, {
- "checkpt", YAFFS_TRACE_CHECKPOINT}, {
- "deletion", YAFFS_TRACE_DELETION}, {
- "erase", YAFFS_TRACE_ERASE}, {
- "error", YAFFS_TRACE_ERROR}, {
- "gc_detail", YAFFS_TRACE_GC_DETAIL}, {
- "gc", YAFFS_TRACE_GC}, {
- "lock", YAFFS_TRACE_LOCK}, {
- "mtd", YAFFS_TRACE_MTD}, {
- "nandaccess", YAFFS_TRACE_NANDACCESS}, {
- "os", YAFFS_TRACE_OS}, {
- "scan_debug", YAFFS_TRACE_SCAN_DEBUG}, {
- "scan", YAFFS_TRACE_SCAN}, {
- "tracing", YAFFS_TRACE_TRACING}, {
- "sync", YAFFS_TRACE_SYNC}, {
- "write", YAFFS_TRACE_WRITE}, {
- "verify", YAFFS_TRACE_VERIFY}, {
- "verify_nand", YAFFS_TRACE_VERIFY_NAND}, {
- "verify_full", YAFFS_TRACE_VERIFY_FULL}, {
- "verify_all", YAFFS_TRACE_VERIFY_ALL}, {
- "all", 0xffffffff}, {
- "none", 0}, {
-NULL, 0},};
+ {"allocate", YAFFS_TRACE_ALLOCATE},
+ {"always", YAFFS_TRACE_ALWAYS},
+ {"background", YAFFS_TRACE_BACKGROUND},
+ {"bad_blocks", YAFFS_TRACE_BAD_BLOCKS},
+ {"buffers", YAFFS_TRACE_BUFFERS},
+ {"bug", YAFFS_TRACE_BUG},
+ {"checkpt", YAFFS_TRACE_CHECKPOINT},
+ {"deletion", YAFFS_TRACE_DELETION},
+ {"erase", YAFFS_TRACE_ERASE},
+ {"error", YAFFS_TRACE_ERROR},
+ {"gc_detail", YAFFS_TRACE_GC_DETAIL},
+ {"gc", YAFFS_TRACE_GC},
+ {"lock", YAFFS_TRACE_LOCK},
+ {"mtd", YAFFS_TRACE_MTD},
+ {"nandaccess", YAFFS_TRACE_NANDACCESS},
+ {"os", YAFFS_TRACE_OS},
+ {"scan_debug", YAFFS_TRACE_SCAN_DEBUG},
+ {"scan", YAFFS_TRACE_SCAN},
+ {"mount", YAFFS_TRACE_MOUNT},
+ {"tracing", YAFFS_TRACE_TRACING},
+ {"sync", YAFFS_TRACE_SYNC},
+ {"write", YAFFS_TRACE_WRITE},
+ {"verify", YAFFS_TRACE_VERIFY},
+ {"verify_nand", YAFFS_TRACE_VERIFY_NAND},
+ {"verify_full", YAFFS_TRACE_VERIFY_FULL},
+ {"verify_all", YAFFS_TRACE_VERIFY_ALL},
+ {"all", 0xffffffff},
+ {"none", 0},
+ {NULL, 0},
+};
#define MAX_MASK_NAME_LENGTH 40
static int yaffs_proc_write_trace_options(struct file *file, const char *buf,
(" \n\n\n\nYAFFS-WARNING CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED selected.\n\n\n\n")));
#endif
- init_MUTEX(&yaffs_context_lock);
+ mutex_init(&yaffs_context_lock);
/* Install the proc_fs entries */
my_proc_entry = create_proc_entry("yaffs",
my_proc_entry->write_proc = yaffs_proc_write;
my_proc_entry->read_proc = yaffs_proc_read;
my_proc_entry->data = NULL;
- } else
+ } else {
return -ENOMEM;
+ }
debug_proc_entry = create_proc_entry("yaffs_stats",
S_IRUGO | S_IFREG, YPROC_ROOT);
debug_proc_entry->write_proc = NULL;
debug_proc_entry->read_proc = yaffs_stats_proc_read;
debug_proc_entry->data = NULL;
- } else
+ } else {
return -ENOMEM;
+ }
/* Now add the file system entries */