add locks to the shared objects of ext2 fs
[lunaix-os.git] / lunaix-os / kernel / fs / ext2 / mount.c
index 05fbdce029ea6243dd0f6c6fbde4b6bd1b2be01a..0d328e796df31a079cdc820391eeea9dd68ac66b 100644 (file)
@@ -170,6 +170,8 @@ ext2_mount(struct v_superblock* vsb, struct v_dnode* mnt)
     ext2sb->raw = rawsb;
     ext2sb->all_feature = __translate_feature(rawsb);
 
     ext2sb->raw = rawsb;
     ext2sb->all_feature = __translate_feature(rawsb);
 
+    mutex_init(&ext2sb->lock);
+
     fsapi_set_vsb_ops(vsb, &vsb_ops);
     fsapi_complete_vsb_setup(vsb, ext2sb);
 
     fsapi_set_vsb_ops(vsb, &vsb_ops);
     fsapi_complete_vsb_setup(vsb, ext2sb);
 
@@ -188,6 +190,9 @@ ext2_mount(struct v_superblock* vsb, struct v_dnode* mnt)
         ext2sb->raw = offset(blkbuf_data(buf), EXT2_BASE_BLKSZ);
     }
 
         ext2sb->raw = offset(blkbuf_data(buf), EXT2_BASE_BLKSZ);
     }
 
+    ext2sb->raw->s_mnt_cnt++;
+    ext2sb->raw->s_mtime = clock_unixtime();
+
     ext2sb->buf = buf;
     vfree(rawsb);
     return 0;
     ext2sb->buf = buf;
     vfree(rawsb);
     return 0;