- if (IS_DEVICE(mode) && file->rdev == last_rdev) {
- /* Set both flags so that the test when
- * writing the data is simpler. */
- flags |= SAME_RDEV_pre28|SAME_HIGH_RDEV;
- }
- else
- last_rdev = file->rdev;
- }
- else if (IS_DEVICE(mode)) {
- if ((file->rdev & ~0xFF) == last_rdev)
- flags |= SAME_HIGH_RDEV;
+ if (IS_DEVICE(mode)) {
+ if (file->u.rdev == rdev) {
+ /* Set both flags to simplify the test
+ * when writing the data. */
+ flags |= XMIT_SAME_RDEV_pre28
+ | XMIT_SAME_HIGH_RDEV;
+ } else
+ rdev = file->u.rdev;
+ } else
+ rdev = 0;
+ } else if (IS_DEVICE(mode)) {
+ if ((file->u.rdev & ~0xFF) == rdev)
+ flags |= XMIT_SAME_HIGH_RDEV;