New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 916643 link

Starred by 3 users

FAT32 formatted external drives are not accessible in >UTC+12 time zones.

Reported by da...@djm42.com, Dec 19

Issue description

UserAgent: Mozilla/5.0 (X11; CrOS x86_64 11151.59.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.94 Safari/537.36
Platform: 11151.59.0 (Official Build) stable-channel tricky

Steps to reproduce the problem:
1. Open file browser.
2. No SD card
3. No USB device

What is the expected behavior?
Normal file browsing

What went wrong?
Stop working in V71.0.3578.94

Did this work before? Yes Works in V68.0.3440.87

Chrome version: 71.0.3578.94  Channel: beta
OS Version: 11151.59.0
Flash Version: Version 71.0.3578.94 (Official Build) (64-bit)

I rewound to previous version it worked. Updated and failed again.
 
Components: Platform>Apps>FileManager
Labels: Needs-Feedback
Could you please elaborate what is the problem and what steps are actually involved in reproducing this.
Hi Help,

Thank you for your msg :-

Could you please elaborate what is the problem and what steps are actually

I have just rebooted my chrome box (25th). Yesterday (24th) my external sd
card appeared in the filemanager and i could manipulate files, now it does
not appear.

(Check one more time, not sd card)

The problem first appeared with the update to Version 71.0.3578.94
(Official Build) (64-bit).

Thanks for your help,
David.
Project Member

Comment 4 by sheriffbot@chromium.org, Dec 24

Cc: dats@chromium.org
Labels: -Needs-Feedback
Thank you for providing more feedback. Adding the requester to the cc list.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -Pri-2 CrOSFilesFeature-ExternalMedia M-71 Pri-1
Owner: amistry@chromium.org
Status: Assigned (was: Unconfirmed)
I found a few feedback reports experiencing the same issue:

2018-12-27T21:25:22.242954+13:00 ERR cros-disks[1876]: Failed to mount '/dev/mmcblk0p1' '/media/removable/SD Card' 'vfat' 142 'flush,shortname=mixed,utf8,time_offset=780,uid=1000,gid=1000': Invalid argument
2018-12-27T21:25:22.242998+13:00 ERR cros-disks[1876]: Failed to mount '/dev/mmcblk0p1' to '/media/removable/SD Card' as filesystem 'vfat' with options 'dirsync,flush,shortname=mixed,utf8,time_offset=780,rw,uid=1000,gid=1000,nodev,noexec,nosuid'
Status: Started (was: Assigned)
Cc: slangley@chromium.org weifangsun@chromium.org
This is due to the kernel rejecting a time_offset mount option for vfat that is outside the +-12 hours range. A proper fix is to backport https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v4.20&id=a513d86983164a1f74a226ab7006deffbf63907e to all currently used kernels. A 71/72 mergable patch is in review.

A (temporary) workaround is to change the time zone to be inside the +-12 hours range.
A more practical workaround I found was to switch to an SD card formatted with exfat instead of vfat, instead of running the wrong time here in New Zealand..
Looking forward to this fix though - as most of my flash media formatted with vfat.
Cc: benchan@chromium.org
Project Member

Comment 11 by bugdroid1@chromium.org, Jan 8

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/ba161c877d86ef178ad2222bb4707b208edbcb75

commit ba161c877d86ef178ad2222bb4707b208edbcb75
Author: Anand K Mistry <amistry@chromium.org>
Date: Tue Jan 08 16:26:27 2019

cros-disks: Clamp time offset option for vfat to +-12 hours.

The fat filesystem on kernels <4.5 refuse to mount partitions when the
time_offset mount option if outside the +-12 hours range. A number of
countries are in the UTC+13 and UTC+14 time zones. Users in these
countries experience mount failures when attempting to access devices
formatted as FAT32.

With this change, users in these time zones will see incorrect time
stamps for files on FAT32 drives. However, any other solution is far
more complicated and the intention for this patch is to be mergable into
M71/M72 if needed. Further, this patch will be reverted once the
relavent kernel patch is back ported to all current kernels.

BUG=chromium:916643
TEST=Unit tests + Deploy to chell, change time zone to Auckland, insert
     FAT32 formatted USB drive.

Change-Id: I45f32b6723eeb30a1ae453f3d47c7541a85542d2
Reviewed-on: https://chromium-review.googlesource.com/1392574
Commit-Ready: Anand Mistry <amistry@chromium.org>
Tested-by: Anand Mistry <amistry@chromium.org>
Reviewed-by: Ben Chan <benchan@chromium.org>

[modify] https://crrev.com/ba161c877d86ef178ad2222bb4707b208edbcb75/cros-disks/disk_manager_test.cc
[modify] https://crrev.com/ba161c877d86ef178ad2222bb4707b208edbcb75/cros-disks/disk_manager.cc
[modify] https://crrev.com/ba161c877d86ef178ad2222bb4707b208edbcb75/cros-disks/disk_manager.h

Labels: Merge-Request-72
Verified on latest canary 73.0.3666.0 (11554.0.0).

This issue is preventing users east of UTC+12 (i.e. New Zealand) to use FAT32 formatted USB drives and SD cards, therefore requesting merge to 72.
Project Member

Comment 13 by sheriffbot@chromium.org, Jan 10

Labels: -Merge-Request-72 Merge-Review-72 Hotlist-Merge-Review
This bug requires manual review: M72 has already been promoted to the beta branch, so this requires manual review
Please contact the milestone owner if you have questions.
Owners: govind@(Android), kariahda@(iOS), djmm@(ChromeOS), abdulsyed@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Project Member

Comment 14 by bugdroid1@chromium.org, Jan 11

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/30dc635b3766e8ee276250c4db91c0dbb662a885

commit 30dc635b3766e8ee276250c4db91c0dbb662a885
Author: Anand K Mistry <amistry@chromium.org>
Date: Fri Jan 11 21:32:20 2019

cros-disks: Allow TZ variable to be passed on service startup.

This lets the TZ variable be set for tests, which allow cros-disks to be
set into a different time zone.

BUG=chromium:916643
TEST=platform_CrosDisks autotests

Change-Id: I7265937bb766023ff8dd2958c531db891f15636c
Reviewed-on: https://chromium-review.googlesource.com/1404455
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Anand Mistry <amistry@chromium.org>
Reviewed-by: Ben Chan <benchan@chromium.org>

[modify] https://crrev.com/30dc635b3766e8ee276250c4db91c0dbb662a885/cros-disks/cros-disks.conf

Project Member

Comment 15 by bugdroid1@chromium.org, Jan 14

Labels: merge-merged-chromeos-3.8
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/5c86177062924457640f32b7263439629a809e11

commit 5c86177062924457640f32b7263439629a809e11
Author: Jan Kara <jack@suse.cz>
Date: Mon Jan 14 03:01:22 2019

UPSTREAM: fat: allow time_offset to be up to 24 hours

Currently we limit values of time_offset mount option to be between -12
and 12 hours.  However e.g.  zone GMT+12 can have a DST correction on top
which makes the total time difference 13 hours.  Update the checks in
mount option parsing to allow offset of upto 24 hours to allow for unusual
cases.

Signed-off-by: Jan Kara <jack@suse.cz>
Reported-by: Volker Kuhlmann <list0570@paradise.net.nz>
Acked-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
(cherry picked from commit a513d86983164a1f74a226ab7006deffbf63907e)

BUG=chromium:916643
TEST=Build kernel

Change-Id: I5ba70f321a19076c09c5fcc0812f856430805ca5
Signed-off-by: Anand K Mistry <amistry@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1392575
Commit-Ready: Anand Mistry <amistry@chromium.org>
Tested-by: Anand Mistry <amistry@chromium.org>
Reviewed-by: Ben Chan <benchan@chromium.org>

[modify] https://crrev.com/5c86177062924457640f32b7263439629a809e11/fs/fat/inode.c

Project Member

Comment 16 by bugdroid1@chromium.org, Jan 14

Labels: merge-merged-chromeos-3.10
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/88684808c74aedce536780af84434df8d598eeb8

commit 88684808c74aedce536780af84434df8d598eeb8
Author: Jan Kara <jack@suse.cz>
Date: Mon Jan 14 03:01:24 2019

UPSTREAM: fat: allow time_offset to be up to 24 hours

Currently we limit values of time_offset mount option to be between -12
and 12 hours.  However e.g.  zone GMT+12 can have a DST correction on top
which makes the total time difference 13 hours.  Update the checks in
mount option parsing to allow offset of upto 24 hours to allow for unusual
cases.

Signed-off-by: Jan Kara <jack@suse.cz>
Reported-by: Volker Kuhlmann <list0570@paradise.net.nz>
Acked-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
(cherry picked from commit a513d86983164a1f74a226ab7006deffbf63907e)

BUG=chromium:916643
TEST=Build kernel

Change-Id: Id599c6f3b26df14382dc4ff32390808e22bf5b23
Signed-off-by: Anand K Mistry <amistry@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1392576
Commit-Ready: Anand Mistry <amistry@chromium.org>
Tested-by: Anand Mistry <amistry@chromium.org>
Reviewed-by: Ben Chan <benchan@chromium.org>

[modify] https://crrev.com/88684808c74aedce536780af84434df8d598eeb8/fs/fat/inode.c

Project Member

Comment 17 by bugdroid1@chromium.org, Jan 14

Labels: merge-merged-chromeos-3.18
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/8bf9b26699ad56d25976fc898ba15ff103134b61

commit 8bf9b26699ad56d25976fc898ba15ff103134b61
Author: Jan Kara <jack@suse.cz>
Date: Mon Jan 14 03:01:26 2019

UPSTREAM: fat: allow time_offset to be up to 24 hours

Currently we limit values of time_offset mount option to be between -12
and 12 hours.  However e.g.  zone GMT+12 can have a DST correction on top
which makes the total time difference 13 hours.  Update the checks in
mount option parsing to allow offset of upto 24 hours to allow for unusual
cases.

Signed-off-by: Jan Kara <jack@suse.cz>
Reported-by: Volker Kuhlmann <list0570@paradise.net.nz>
Acked-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
(cherry picked from commit a513d86983164a1f74a226ab7006deffbf63907e)

BUG=chromium:916643
TEST=Deploy to chell, change time zone to UTC+13,
     insert FAT32 formatted USB drive

Change-Id: I7e44f92003bfdacca710ac9e12a62d626a213aeb
Signed-off-by: Anand K Mistry <amistry@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1391251
Commit-Ready: Anand Mistry <amistry@chromium.org>
Tested-by: Anand Mistry <amistry@chromium.org>
Reviewed-by: Ben Chan <benchan@chromium.org>

[modify] https://crrev.com/8bf9b26699ad56d25976fc898ba15ff103134b61/fs/fat/inode.c

Project Member

Comment 18 by bugdroid1@chromium.org, Jan 14

Labels: merge-merged-chromeos-3.14
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/0a72064e8876321a36ccfd2abb9b16fb640da6dc

commit 0a72064e8876321a36ccfd2abb9b16fb640da6dc
Author: Jan Kara <jack@suse.cz>
Date: Mon Jan 14 03:01:25 2019

UPSTREAM: fat: allow time_offset to be up to 24 hours

Currently we limit values of time_offset mount option to be between -12
and 12 hours.  However e.g.  zone GMT+12 can have a DST correction on top
which makes the total time difference 13 hours.  Update the checks in
mount option parsing to allow offset of upto 24 hours to allow for unusual
cases.

Signed-off-by: Jan Kara <jack@suse.cz>
Reported-by: Volker Kuhlmann <list0570@paradise.net.nz>
Acked-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
(cherry picked from commit a513d86983164a1f74a226ab7006deffbf63907e)

BUG=chromium:916643
TEST=Build kernel

Change-Id: I8b0b829327acd986f3a61e70e5b76d01652d58b6
Signed-off-by: Anand K Mistry <amistry@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1392577
Commit-Ready: Anand Mistry <amistry@chromium.org>
Tested-by: Anand Mistry <amistry@chromium.org>
Reviewed-by: Ben Chan <benchan@chromium.org>

[modify] https://crrev.com/0a72064e8876321a36ccfd2abb9b16fb640da6dc/fs/fat/inode.c

Summary: FAT32 formatted external drives are not accessible in >UTC+12 time zones. (was: SD Card Fail)
Changed summary to better reflect issue.
Project Member

Comment 20 by bugdroid1@chromium.org, Jan 16 (6 days ago)

Labels: merge-merged-chromeos-4.4
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/8f44767e9253d6b2a84f5bd05258e3a1f0625853

commit 8f44767e9253d6b2a84f5bd05258e3a1f0625853
Author: Jan Kara <jack@suse.cz>
Date: Wed Jan 16 09:47:04 2019

UPSTREAM: fat: allow time_offset to be up to 24 hours

Currently we limit values of time_offset mount option to be between -12
and 12 hours.  However e.g.  zone GMT+12 can have a DST correction on top
which makes the total time difference 13 hours.  Update the checks in
mount option parsing to allow offset of upto 24 hours to allow for unusual
cases.

Signed-off-by: Jan Kara <jack@suse.cz>
Reported-by: Volker Kuhlmann <list0570@paradise.net.nz>
Acked-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
(cherry picked from commit a513d86983164a1f74a226ab7006deffbf63907e)

BUG=chromium:916643
TEST=Build kernel

Change-Id: I4a026ae4976306e7a92bdbf70fef658f21ce1f80
Signed-off-by: Anand K Mistry <amistry@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1392578
Commit-Ready: Anand Mistry <amistry@chromium.org>
Tested-by: Anand Mistry <amistry@chromium.org>
Reviewed-by: Ben Chan <benchan@chromium.org>

[modify] https://crrev.com/8f44767e9253d6b2a84f5bd05258e3a1f0625853/fs/fat/inode.c

Comment 21 by djmm@google.com, Jan 16 (6 days ago)

Labels: -Merge-Review-72 Merge-Approved-72 M-72
Project Member

Comment 22 by bugdroid1@chromium.org, Jan 17 (6 days ago)

Labels: merge-merged-release-R72-11316.B
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/5f51a79f9d15e51fb7e6a146b33df705cf98a666

commit 5f51a79f9d15e51fb7e6a146b33df705cf98a666
Author: Anand K Mistry <amistry@chromium.org>
Date: Thu Jan 17 05:05:07 2019

cros-disks: Clamp time offset option for vfat to +-12 hours.

The fat filesystem on kernels <4.5 refuse to mount partitions when the
time_offset mount option if outside the +-12 hours range. A number of
countries are in the UTC+13 and UTC+14 time zones. Users in these
countries experience mount failures when attempting to access devices
formatted as FAT32.

With this change, users in these time zones will see incorrect time
stamps for files on FAT32 drives. However, any other solution is far
more complicated and the intention for this patch is to be mergable into
M71/M72 if needed. Further, this patch will be reverted once the
relavent kernel patch is back ported to all current kernels.

BUG=chromium:916643
TEST=Unit tests + Deploy to chell, change time zone to Auckland, insert
     FAT32 formatted USB drive.

Change-Id: I45f32b6723eeb30a1ae453f3d47c7541a85542d2
Reviewed-on: https://chromium-review.googlesource.com/1392574
Commit-Ready: Anand Mistry <amistry@chromium.org>
Tested-by: Anand Mistry <amistry@chromium.org>
Reviewed-by: Ben Chan <benchan@chromium.org>
(cherry picked from commit ba161c877d86ef178ad2222bb4707b208edbcb75)
Reviewed-on: https://chromium-review.googlesource.com/c/1416750
Reviewed-by: Anand Mistry <amistry@chromium.org>
Commit-Queue: Anand Mistry <amistry@chromium.org>

[modify] https://crrev.com/5f51a79f9d15e51fb7e6a146b33df705cf98a666/cros-disks/disk_manager_test.cc
[modify] https://crrev.com/5f51a79f9d15e51fb7e6a146b33df705cf98a666/cros-disks/disk_manager.cc
[modify] https://crrev.com/5f51a79f9d15e51fb7e6a146b33df705cf98a666/cros-disks/disk_manager.h

Project Member

Comment 23 by bugdroid1@chromium.org, Jan 18 (4 days ago)

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/autotest/+/33812266cd2e2559ba38d953cbab7a1f0cc38349

commit 33812266cd2e2559ba38d953cbab7a1f0cc38349
Author: Anand K Mistry <amistry@chromium.org>
Date: Fri Jan 18 12:01:34 2019

platform_CrosDisksFilesystem: Test mounting vfat with timezone > UTC+12

This test modifies the timezone for cros-disks by restarting the service
while passing in a TZ environment variable.

The zone of Pacific/Kiritimati is chosen because it always resides in
UTC+14 (no DST), so the vfat time_offset mount option will always be >12
hours.

BUG=chromium:916643
TEST=Run all platform_CrosDisks.* autotests
CQ-DEPEND=CL:1392574

Change-Id: Ic2f6e8055dae06c7849e1228b589e0e88378f282
Reviewed-on: https://chromium-review.googlesource.com/1400381
Commit-Ready: Anand Mistry <amistry@chromium.org>
Tested-by: Anand Mistry <amistry@chromium.org>
Reviewed-by: Ben Chan <benchan@chromium.org>

[modify] https://crrev.com/33812266cd2e2559ba38d953cbab7a1f0cc38349/client/site_tests/platform_CrosDisksFilesystem/vfat_tests
[modify] https://crrev.com/33812266cd2e2559ba38d953cbab7a1f0cc38349/client/site_tests/platform_CrosDisksFilesystem/platform_CrosDisksFilesystem.py
[modify] https://crrev.com/33812266cd2e2559ba38d953cbab7a1f0cc38349/client/cros/cros_disks.py

Project Member

Comment 24 by sheriffbot@chromium.org, Yesterday (37 hours ago)

Cc: amistry@google.com djmm@google.com
This issue has been approved for a merge. Please merge the fix to any appropriate branches as soon as possible!

If all merges have been completed, please remove any remaining Merge-Approved labels from this issue.

Thanks for your time! To disable nags, add the Disable-Nags label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Comment 25 by amistry@chromium.org, Yesterday (32 hours ago)

Labels: -Merge-Approved-72

Comment 26 by allanrobert@chromium.org, Today (22 hours ago)

Cc: eryen@chromium.org lockp@chromium.org msnoxell@chromium.org ryutas@chromium.org
Labels: Hotlist-Enterprise
Hi, 

Our Ent/EDU customers in NZ are starting to be affected by this issue.
Ex: #18045525

Is the fix available in Beta already?

Thank you.




Comment 27 by amistry@chromium.org, Today (7 hours ago)

Cc: -amistry@google.com
Beta builds 72.0.3626.65 and later will have a fix.

Sign in to add a comment