"Vladimir 'φ-coder/phcoder' Serbinenko" <[email protected]> writes:

> Another problem with FIBMAP/FIEMAP is that fuse-mounted BFS lacks them
> altogether. We will need to find some other way of doing BFS install.
> Also some COW filesystems may supply a somewhat valid blocklist with
> FIBMAP/FIEMAP but which is unusable to GRUB because of COW nature. So
> we need an FS-whitelist.
> Experiment patch attached.
> Any thoughts?

The fuse/lowlevel.h has:

        /**
         * Map block index within file to block index within device
         *
         * Note: This makes sense only for block device backed filesystems
         * mounted with the 'blkdev' option
         *
         * Introduced in version 2.6
         *
         * Valid replies:
         *   fuse_reply_bmap
         *   fuse_reply_err
         *
         * @param req request handle
         * @param ino the inode number
         * @param blocksize unit of block index
         * @param idx block index within file
         */
        void (*bmap) (fuse_req_t req, fuse_ino_t ino, size_t blocksize,
                      uint64_t idx);

/**
 * Reply with block index
 *
 * Possible requests:
 *   bmap
 *
 * @param req request handle
 * @param idx block index within device
 * @return zero for success, -errno for failure to send reply
 */
int fuse_reply_bmap(fuse_req_t req, uint64_t idx);


So it is a matter of implementing the right callback in BFS to support
FIBMAP/FIEMAP. Same for ntfs3g.

MfG
        Goswin

_______________________________________________
Grub-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to