<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>4178</bug_id>
          
          <creation_ts>2013-04-03 04:59:27 +0000</creation_ts>
          <short_desc>Add FUSE: File system in Userspace</short_desc>
          <delta_ts>2013-08-19 01:50:12 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>7</classification_id>
          <classification>Build System, Metadata &amp; Runtime</classification>
          <product>OE-Core</product>
          <component>core</component>
          <version>1.5</version>
          <rep_platform>All</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>Low</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>1.5 M1</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Randy MacLeod">randy.macleod</reporter>
          <assigned_to name="Hongxu Jia">hongxu.jia</assigned_to>
          <cc>bluelightning</cc>
    
    <cc>bruce.ashfield</cc>
    
    <cc>hongxu.jia</cc>
    
    <cc>kai.kang</cc>
    
    <cc>liezhi.yang</cc>
    
    <cc>mark.hatle</cc>
    
    <cc>meta.mr.watcher</cc>
    
    <cc>meta.watcher</cc>
    
    <cc>ning.zhang</cc>
    
    <cc>Qi.Chen</cc>
    
    <cc>sen.zhang</cc>
    
    <cc>sgw</cc>
    
    <cc>tom.zanussi</cc>
    
    <cc>yi.zhao</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>Don&apos;t know</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>31405</commentid>
    <comment_count>0</comment_count>
    <who name="Randy MacLeod">randy.macleod</who>
    <bug_when>2013-04-03 04:59:27 +0000</bug_when>
    <thetext>FUSE is widely used and supported by other distros.
It should be added to oe-core along with  sshfs as a useful client.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31406</commentid>
    <comment_count>1</comment_count>
    <who name="Randy MacLeod">randy.macleod</who>
    <bug_when>2013-04-03 05:11:13 +0000</bug_when>
    <thetext>Oops, moved from kernel doamin since we already have the FUSE module:
cat packages-split/kernel-dev/usr/src/kernel/.config
CONFIG_FUSE_FS=m</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31446</commentid>
    <comment_count>2</comment_count>
    <who name="Paul Eggleton">bluelightning</who>
    <bug_when>2013-04-03 13:13:25 +0000</bug_when>
    <thetext>FYI, both fuse and sshfs-fuse are available in meta-oe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>32431</commentid>
    <comment_count>3</comment_count>
    <who name="Hongxu Jia">hongxu.jia</who>
    <bug_when>2013-04-22 08:07:28 +0000</bug_when>
    <thetext>Yes, not only fuse and sshfs-fuse but also gvfs, ifuse, smbnetfs, owfs, ntfs-3g are available in meta-oe.

Hi Saul,

Is it necessary to move fuse and the related from meta-oe to oe-core?
I have tested fuse and ntfs-3g in oe-core, and it works well.

//Hongxu</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33348</commentid>
    <comment_count>4</comment_count>
    <who name="Hongxu Jia">hongxu.jia</who>
    <bug_when>2013-05-29 07:50:31 +0000</bug_when>
    <thetext>Hi Saul,

About this feature, the following is the goal and mean:

1, Add fuse to oe-core and let target system could support `ntfs&apos; and `exfat&apos; filesystems.

2, Add four packages to oe-core: 
1) fuse, move fuse_2.9.2 from meta-oe;
2) ntfs-3g-ntfsprogs, moved from meta-oe, and update from 2011.4.12 to 2013.1.13;
3) fuse-exfat_1.0.1, it doesn&apos;t exist in meta-oe and newly added to oe-core;
4) exfat-utils_1.0.1, it doesn&apos;t exist in meta-oe and newly added to oe-core;

//Hongxu</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33349</commentid>
    <comment_count>5</comment_count>
    <who name="Hongxu Jia">hongxu.jia</who>
    <bug_when>2013-05-29 07:53:19 +0000</bug_when>
    <thetext>Test Case

*Steps
1, prepare
target: e-menlow
2 usb sticks: one for boot and install, another for filesystem test.

2, config, 
conf/local.conf:
247 MACHINE ?= &quot;emenlow-noemgd&quot;
247 IMAGE_INSTALL_append = &quot; ntfs-3g ntfsprogs fuse-exfat exfat-utils&quot;

conf/bblayers.conf:
  8 BBLAYERS ?= &quot; \
  9   /home/jiahongxu/yocto/poky/meta \
 10   /home/jiahongxu/yocto/poky/meta-yocto \
 11   /home/jiahongxu/yocto/poky/meta-yocto-bsp \
 12   /home/jiahongxu/yocto/poky/meta-intel \
 13   /home/jiahongxu/yocto/poky/meta-intel/meta-emenlow \

3, build image
bitbake core-image-sato

4, load image to emenlow
Test Case TC-2927: boot and install from usb

5, open a terminal/ssh of e-menlow
Test Case TC-2955: remote access by ssh

6, make exfat filesystem on the testing usb storage
1) plug usb stick into e-menlow
2) execute `mkfs.exfat /dev/sdc1&apos;

7, test usb stick with exfat filesystem is accessible
Test Case TC-2947: usb mount
Test Case TC-2948: usb read files
Test Case TC-2949: usb umount
Test Case TC-2950: usb write files

8, make ntfs filesystem on the testing usb storage
1) plug usb stick into e-menlow, if mounted, invoke `umount /dev/sdc1&apos; first.
2) execute `mkfs.ntfs -f /dev/sdc1&apos;

9, test usb stick with ntfs filesystem is accessible 
Test Case TC-2947: usb mount
Test Case TC-2948: usb read files
Test Case TC-2949: usb umount
Test Case TC-2950: usb write files

*Expected Results:
1, build image success

2, make exfat filesystem success
root@emenlow-noemgd:~# mkfs.exfat /dev/sdc1
mkexfatfs 1.0.1
Creating... done.
Flushing... done.
File system created successfully.

3, make ntfs filesystem success
root@emenlow-noemgd:~# mkfs.ntfs -f /dev/sdc1
Cluster size has been automatically set to 4096 bytes.
Creating NTFS volume structures.
mkntfs completed successfully. Have a nice day.

4, While the usb&apos;s filesystem type is exfat or ntfs, system can mount
plugged usb automatically, read files from usb, write files to usb and
unmout usb automatically.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33354</commentid>
    <comment_count>6</comment_count>
    <who name="Paul Eggleton">bluelightning</who>
    <bug_when>2013-05-29 08:52:39 +0000</bug_when>
    <thetext>This looks like useful work, but is there a need to add these to OE-Core, or can they just be maintained/added to in meta-oe where they are currently?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33357</commentid>
    <comment_count>7</comment_count>
    <who name="Hongxu Jia">hongxu.jia</who>
    <bug_when>2013-05-29 09:24:42 +0000</bug_when>
    <thetext>(In reply to comment #6)
&gt; This looks like useful work, but is there a need to add these to OE-Core, or
&gt; can they just be maintained/added to in meta-oe where they are currently?

Hi Saul,

What is your suggestion? oe-core or meta-oe? Which one should I maintain/add?

//Hongxu</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33369</commentid>
    <comment_count>8</comment_count>
    <who name="Bruce Ashfield">bruce.ashfield</who>
    <bug_when>2013-05-29 13:17:45 +0000</bug_when>
    <thetext>Wind River uses FUSE across many projects, layers, images and is now common 
functionality from our point of view.

oe-core is the component that is imported and supported as a whole, not meta-oe,
hence why we are looking to drive fuse down to oe-core. 

.. but obviously, we are just one opinion on what sits where.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33651</commentid>
    <comment_count>9</comment_count>
    <who name="Saul Wold">sgw</who>
    <bug_when>2013-06-06 03:44:30 +0000</bug_when>
    <thetext>At this point given the number of items that would need to move, I would suggest either a patch of RFC to the meta-oe to move the filesystem related bits into a meta-oe/meta-filesystems layer similar to meta-networking.  This would allow that layer to be included independant of the larger meta-oe recipe set.

You would have to survey all the FS related items, and propose what should move, I would not move things like nautlius, gedit or gnome-vfs, it will be a tough argument to move gvfs since it&apos;s a gnome item in meta-gnome already.

This will require someone (like WR) to step up and maintain this new layer like the meta-networking layer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>35722</commentid>
    <comment_count>10</comment_count>
    <who name="Hongxu Jia">hongxu.jia</who>
    <bug_when>2013-08-19 01:49:15 +0000</bug_when>
    <thetext>Create a layer meta-filesystems to collect additional filesystems recipes:

Fuse is included in the layer:

* Git repository
git://git.openembedded.org/meta-openembedded 

* Subdirectory
meta-filesystems

* Dependencies
git://git.openembedded.org/openembedded-core

git://git.openembedded.org/meta-openembedded
meta-oe</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>35724</commentid>
    <comment_count>11</comment_count>
    <who name="Hongxu Jia">hongxu.jia</who>
    <bug_when>2013-08-19 01:50:12 +0000</bug_when>
    <thetext>Survey the filesystem related items in meta-oe, and move them to the
meta-openembedded/meta-filesystems layer

*1, already layout in meta-oe, they will be moved to meta-filesystems with
    the exception of lvm2 and udisks.
    - lvm2 is depended by udisks/cryptsetup/multipath-tools.
    - udisks has close relations with systemd.
meta-oe---------------&gt;|recipes-core----------------&gt;|f2fs-tools
                       |recipes-extended------------&gt;|owfs
                       |recipes-connectivity--------&gt;|ifuse
                                                     |sshfs-fuse
                                                     |smbnetfs
                       |recipes-support-------------&gt;|ntfs-3g-ntfsprogs
                                                     |xfsprogs
                                                     |cramfs
                                                     |physfs
                                                     |fuse
                                                     |lvm2
                                                     |udisks

*2, already layout in oe-core/meta, they will stay where they are.
oe-core/meta----------&gt;|recipes-devtools------------&gt;|file
                                                     |dosfstools
                                                     |squashfs-tools
                                                     |devel-config-------&gt;nfs-export-root
                                                     |btrfs-tools
                                                     |genext2fs
                                                     |e2fsprogs
                                                     |util-linux
                                                     |packagegroups------&gt;packagegroup-base.bb
                                                     |sysfsutils
                       |recipes-extended------------&gt;|stat
                       |recipes-support-------------&gt;|attr

*3, TOBE layout in meta-filesystems layer.
ifuse, sshfs-fuse, owfs, smbnetfs, ntfs-3g-ntfsprogs, fuse-exfat are based on fuse

meta-filesystems------&gt;|recipes-filesystems---------&gt;|ifuse
                                                     |sshfs-fuse
                                                     |owfs
                                                     |ntfs-3g-ntfsprogs
                                                     |cramfs
                                                     |smbnetfs
                                                     |fuse-exfat
                       |recipes-support-------------&gt;|fuse
                                                     |physfs
                       |recipes-utils---------------&gt;|f2fs-tools
                                                     |exfat-utils
                                                     |xfsprogs

*4, upgrade and newly added
1) 4 Packages need to be upgraded
    owfs, 2.8p20--&gt;2.9p1
    ntfs-3g-ntfsprogs, 2011.4.12--&gt;2013.1.13
    xfsprogs, 3.1.8--&gt;3.1.11
    fuse, 2.9.2--&gt;2.9.3

2) 2 Packages are newly added to meta-filesystems
    fuse-exfat: add version 1.0.1
    exfat-utils: add version 1.0.1</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>