- Remove vol->nr_mft_records as it was pretty meaningless and optimize
the calculation of total/free inodes as used by statfs().
+ - Fix scheduling latencies in ntfs_fill_super() by dropping the BKL
+ because the code itself is using the ntfs_lock semaphore which
+ provides safe locking. (Ingo Molnar)
2.1.17 - Fix bugs in mount time error code paths and other updates.
va_start(args, fmt);
vsnprintf(err_buf, sizeof(err_buf), fmt, args);
va_end(args);
- printk(KERN_DEBUG "NTFS-fs DEBUG (%s, %d): %s: %s\n",
+ printk(KERN_DEBUG "NTFS-fs DEBUG (%s, %d): %s(): %s\n",
file, line, flen ? function : "", err_buf);
spin_unlock(&err_buf_lock);
}
#include <linux/buffer_head.h>
#include <linux/vfs.h>
#include <linux/moduleparam.h>
+#include <linux/smp_lock.h>
#include "ntfs.h"
#include "sysctl.h"
vol->fmask = 0177;
vol->dmask = 0077;
+ unlock_kernel();
+
/* Important to get the mount options dealt with now. */
if (!parse_options(vol, (char*)opt))
goto err_out_now;
}
up(&ntfs_lock);
sb->s_export_op = &ntfs_export_ops;
+ lock_kernel();
return 0;
}
ntfs_error(sb, "Failed to allocate root directory.");
}
/* Errors at this stage are irrelevant. */
err_out_now:
+ lock_kernel();
sb->s_fs_info = NULL;
kfree(vol);
ntfs_debug("Failed, returning -EINVAL.");