Re: [GIT PULL] ext4 bug fixes for 4.2-rc2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Jul 11, 2015 at 02:07:10PM +0200, Jörg-Volker Peetz wrote:
> 
> Hi Ted,
> 
> I'm testing this patch and "ext4: set lazytime on remount if MS_LAZYTIME is set
> by mount" on top of stable kernel 4.1.2.
> 
> So far no problems with lazytime enabled. Thanks for that :-)
> 
> But remounting with mount version 2.26.2 sucks. As promised, lazytime can be
> enabled. But disabling it or trying to switch between atime, relatime, and
> noatime doesn't work.

I knew about the fact that you couldn't disable lazytime.  The issue
is that nolazytime is getting intercepted by the 2.26.2 version of
mount, so ext4 never sees it.  But if we interpret the lack of the
lazytime flag in the mount flags passed in from the system call, then
we would *always* disable the lazytime flag if the file system is
remounted using a pre-2.26.2 version of mount.  Since a huge number of
Ubuntu LTS and Debian stable users (and probably a bunch of older
Fedora users as well) will be using an older version of mount, I
decided that best compromise is was to allow lazytime to be enabled
using a 2.26.2+ version of mount via remount, but not to allow
lazytime to be disabled.  With a pre-2.26.2 version of mount, you'll
be able to enable or disable lazytime.

As far as switching atime modes using remount, this is working for me.
I'm testing with both a 2.25.2 version of mount as found in Debian
Jessie, as well as 2.26.2 version of mount using Debian Stretch.  


The issue not being able to change the atime, relatime, and noatime
flags is a similar issue.  In pre-2.26.2 versions of mount, the atime,
relatime, and noatime strings were passed to the kernel, which would
then interpret the strings and the manipulate the 


> # strace -o /tmp/st mount -o remount,relatime /home
> # grep ^mount /tmp/st
> mount("/dev/sda2", "/home", 0x1543780, MS_REMOUNT|MS_RELATIME|MS_NOATIME,
> "nobarrier,errors=remount-ro") = 0

"MS_REMOUNT|MS_RELATIME|MS_NOATIME" looks wrong.  Here's what I'm
seeing on my system:

# strace -o /tmp/st mount -o remount,relatime /dev/sda3
# grep sda3 /proc/mounts
/dev/sda3 / ext4 rw,lazytime,relatime,errors=remount-ro,data=ordered 0 0
# grep MS_REMOUNT /tmp/st
mount("/dev/sda3", "/", 0x1148230, MS_REMOUNT|MS_RELATIME|0x2000000, "errors=remount-ro") = 0
# strace -o /tmp/st mount -o remount,noatime /dev/sda3
# grep sda3 /proc/mounts
/dev/sda3 / ext4 rw,lazytime,noatime,errors=remount-ro,data=ordered 0 0
# grep MS_REMOUNT /tmp/st
mount("/dev/sda3", "/", 0x1458230, MS_REMOUNT|MS_NOATIME|0x2000000, "errors=remount-ro") = 0
# mount --version
mount from util-linux 2.26.2 (libmount 2.26.0: selinux, assert, debug)
# dpkg -l mount
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                Version        Architecture   Description
+++-===================-==============-==============-===========================================
ii  mount               2.26.2-6       amd64          Tools for mounting and manipulating filesys

    				       		      - Ted
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux