Lines 715-723
Link Here
|
715 |
|
715 |
|
716 |
sb->s_flags = flags; |
716 |
sb->s_flags = flags; |
717 |
strlcpy(sb->s_id, bdevname(real, buf), sizeof(sb->s_id)); |
717 |
strlcpy(sb->s_id, bdevname(real, buf), sizeof(sb->s_id)); |
718 |
sb->s_old_blocksize = block_size(real); |
718 |
sb_set_blocksize(sb, block_size(real)); |
719 |
sb_set_blocksize(sb, sb->s_old_blocksize); |
719 |
sync_blockdev(real); |
720 |
set_blocksize(real, sb->s_old_blocksize); |
|
|
721 |
error = fill_super(sb, data, (flags & MS_VERBOSE) ? 1 : 0); |
720 |
error = fill_super(sb, data, (flags & MS_VERBOSE) ? 1 : 0); |
722 |
if (error) { |
721 |
if (error) { |
723 |
up_write(&sb->s_umount); |
722 |
up_write(&sb->s_umount); |
Lines 748-758
Link Here
|
748 |
{ |
747 |
{ |
749 |
struct block_device *diaper = sb->s_bdev; |
748 |
struct block_device *diaper = sb->s_bdev; |
750 |
struct block_device *real = gfs_diaper_2real(diaper); |
749 |
struct block_device *real = gfs_diaper_2real(diaper); |
751 |
unsigned long bsize = sb->s_old_blocksize; |
|
|
752 |
|
750 |
|
753 |
generic_shutdown_super(sb); |
751 |
generic_shutdown_super(sb); |
754 |
set_blocksize(diaper, bsize); |
752 |
sync_blockdev(diaper); |
755 |
set_blocksize(real, bsize); |
753 |
sync_blockdev(real); |
756 |
gfs_diaper_put(diaper); |
754 |
gfs_diaper_put(diaper); |
757 |
close_bdev_excl(real); |
755 |
close_bdev_excl(real); |
758 |
} |
756 |
} |