Re: [PATCH] loop: properly observe rotational flag of underlying device
From: gwendal grignou
Date: Thu May 12 2016 - 16:30:15 EST
Holger HoffstÃtte <holger.hoffstaette <at> googlemail.com> writes:
>
> On 11/11/15 23:08, Holger HoffstÃtte wrote:
> > On 11/11/15 22:29, Jens Axboe wrote:
> >> On 11/11/2015 08:21 AM, Holger HoffstÃtte wrote:
> >>>
> >>> The loop driver always declares the rotational flag of its device as
> >>> rotational, even when the device of the mapped file is nonrotational,
> >>> as is the case with SSDs or on tmpfs. This can confuse filesystem
tools
> >>> which are SSD-aware; in my case I frequently forget to tell
mkfs.btrfs
> >>> that my loop device on tmpfs is nonrotational, and that I really
don't
> >>> need any automatic metadata redundancy.
> >>>
> >>> The attached patch fixes this by introspecting the rotational flag of
the
> >>> mapped file's underlying block device, if it exists. If the mapped
file's
> >>> filesystem has no associated block device - as is the case on e.g.
tmpfs -
> >>> we assume nonrotational storage. If there is a better way to identify
such
> >>> non-devices I'd love to hear them.
> >>>
> >>> Signed-off-by: Holger HoffstÃtte <holger.hoffstaette <at>
googlemail.com>
>
> Jens,
>
> I haven't seen this merged in any trees yet and was wondering if there's
> any chance to get this into 4.5? If there's something left to fix up
please
> let me know.
>
> Thanks,
> Holger
>
>
This patch proved useful for ureadahead: when we use it on a loop device,
it would use the HDD method to place the data in cache using the pack
information instead of the SSD method.
Signed-off-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx>