static struct ext4_mountpoint *ext4_get_mount(const char *path)
{
- int i;
- for (i = 0; i < CONFIG_EXT4_MOUNTPOINTS_COUNT; ++i) {
+ for (size_t i = 0; i < CONFIG_EXT4_MOUNTPOINTS_COUNT; ++i) {
if (!s_mp[i].mounted)
continue;
if (!strncmp(s_mp[i].name, path, strlen(s_mp[i].name)))
return &s_mp[i];
}
+
return NULL;
}
{
int r = EOK;
struct ext4_mountpoint *mp = ext4_get_mount(mount_point);
+
if (!mp)
return ENOENT;
{
int r = EOK;
struct ext4_mountpoint *mp = ext4_get_mount(mount_point);
+
if (!mp)
return ENOENT;
static int __ext4_recover(const char *mount_point)
{
struct ext4_mountpoint *mp = ext4_get_mount(mount_point);
+ int r = ENOTSUP;
+
if (!mp)
return ENOENT;
- int r = ENOTSUP;
EXT4_MP_LOCK(mp);
if (ext4_sb_feature_com(&mp->fs.sb, EXT4_FCOM_HAS_JOURNAL)) {
struct jbd_fs *jbd_fs = ext4_calloc(1, sizeof(struct jbd_fs));
goto Finish;
}
-
r = jbd_get_fs(&mp->fs, jbd_fs);
if (r != EOK) {
ext4_free(jbd_fs);
static int __ext4_trans_start(struct ext4_mountpoint *mp)
{
int r = EOK;
+
if (mp->fs.jbd_journal && !mp->fs.curr_trans) {
struct jbd_journal *journal = mp->fs.jbd_journal;
struct jbd_trans *trans;
static int __ext4_trans_stop(struct ext4_mountpoint *mp)
{
int r = EOK;
+
if (mp->fs.jbd_journal && mp->fs.curr_trans) {
struct jbd_journal *journal = mp->fs.jbd_journal;
struct jbd_trans *trans = mp->fs.curr_trans;