}
cl_off = word - last_rcvd_slots + bit;
} else {
- unsigned long *word;
- int bit;
-
- word = last_rcvd_slots + cl_off / sizeof(unsigned long);
- bit = cl_off % sizeof(unsigned long);
-
- if (test_and_set_bit(bit, word)) {
- CERROR("bit %d already set in word %d - bad bad\n",
- bit, word - last_rcvd_slots);
+ if (test_and_set_bit(cl_off, last_rcvd_slots)) {
+ CERROR("bit %d already set in bitmap - bad bad\n",
+ cl_off);
LBUG();
}
}
mds->mds_fstype = strdup(data->ioc_inlbuf2);
- if (!strcmp(mds->mds_fstype, "ext3"))
+ if (!strcmp(mds->mds_fstype, "extN"))
+ mds->mds_fsops = &mds_extN_fs_ops;
+ else if (!strcmp(mds->mds_fstype, "ext3"))
mds->mds_fsops = &mds_ext3_fs_ops;
else if (!strcmp(mds->mds_fstype, "ext2"))
mds->mds_fsops = &mds_ext2_fs_ops;
fs_journal_data:mds_ext3_journal_data,
fs_set_last_rcvd:mds_ext3_set_last_rcvd,
};
+
+struct mds_fs_operations mds_extN_fs_ops = {
+ fs_start: mds_ext3_start,
+ fs_commit: mds_ext3_commit,
+ fs_setattr: mds_ext3_setattr,
+ fs_set_objid: mds_ext3_set_objid,
+ fs_get_objid: mds_ext3_get_objid,
+ fs_readpage: mds_ext3_readpage,
+ fs_delete_inode:mds_ext3_delete_inode,
+ cl_delete_inode:clear_inode,
+ fs_journal_data:mds_ext3_journal_data,
+ fs_set_last_rcvd:mds_ext3_set_last_rcvd,
+};