struct super_block *obt_sb;
/** last_rcvd file */
struct file *obt_rcvd_filp;
- struct lu_target *obt_lut;
+ /** server data in last_rcvd file */
+ struct lr_server_data *obt_lsd;
+ /** Lock protecting client bitmap */
+ cfs_spinlock_t obt_client_bitmap_lock;
+ /** Bitmap of known clients */
+ unsigned long *obt_client_bitmap;
+ /** Server last transaction number */
+ __u64 obt_last_transno;
+ /** Lock protecting last transaction number */
+ cfs_spinlock_t obt_translock;
+ /** Number of mounts */
__u64 obt_mount_count;
cfs_semaphore_t obt_quotachecking;
struct lustre_quota_ctxt obt_qctxt;
struct filter_obd {
/* NB this field MUST be first */
struct obd_device_target fo_obt;
+ struct lu_target fo_lut;
const char *fo_fstype;
int fo_group_count;
int fo_sec_level;
};
-#define fo_translock fo_obt.obt_lut->lut_translock
-#define fo_last_rcvd_slots fo_obt.obt_lut->lut_client_bitmap
-#define fo_mount_count fo_obt.obt_lut->lut_mount_count
+#define fo_translock fo_obt.obt_translock
#define fo_rcvd_filp fo_obt.obt_rcvd_filp
+#define fo_fsd fo_obt.obt_lsd
+#define fo_last_rcvd_slots fo_obt.obt_client_bitmap
+#define fo_mount_count fo_obt.obt_mount_count
#define fo_vfsmnt fo_obt.obt_vfsmnt
struct timeout_item {