grub-devel
[Top][All Lists]
Advanced

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

Re: [RFC] FIEMAP and disk sync issues


From: Goswin von Brederlow
Subject: Re: [RFC] FIEMAP and disk sync issues
Date: Mon, 30 Jan 2012 11:30:20 +0100
User-agent: Gnus/5.110009 (No Gnus v0.9) XEmacs/21.4.22 (linux, no MULE)

"Vladimir 'φ-coder/phcoder' Serbinenko" <address@hidden> 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]