aboutsummaryrefslogtreecommitdiff
path: root/fs/qnx4
diff options
context:
space:
mode:
authorColy Li <coly.li@suse.de>2009-04-02 16:59:40 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2009-04-02 19:05:10 -0700
commit5b76dc066a4deb937665521566f89aead756f049 (patch)
treedc4a855e8c279c05cd1f2bed2216eeac2ca500de /fs/qnx4
parent197e671ee1d674b194b943467364fdfbefe7ce5a (diff)
fs/qnx4: return f_fsid for statfs(2)
Make qnx4 file system return f_fsid info for statfs(2). Signed-off-by: Coly Li <coly.li@suse.de> Acked-by: Anders Larsen <al@alarsen.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/qnx4')
-rw-r--r--fs/qnx4/inode.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/qnx4/inode.c b/fs/qnx4/inode.c
index 2aad1044b84..fe1f0f31d11 100644
--- a/fs/qnx4/inode.c
+++ b/fs/qnx4/inode.c
@@ -282,6 +282,7 @@ unsigned long qnx4_block_map( struct inode *inode, long iblock )
static int qnx4_statfs(struct dentry *dentry, struct kstatfs *buf)
{
struct super_block *sb = dentry->d_sb;
+ u64 id = huge_encode_dev(sb->s_bdev->bd_dev);
lock_kernel();
@@ -291,6 +292,8 @@ static int qnx4_statfs(struct dentry *dentry, struct kstatfs *buf)
buf->f_bfree = qnx4_count_free_blocks(sb);
buf->f_bavail = buf->f_bfree;
buf->f_namelen = QNX4_NAME_MAX;
+ buf->f_fsid.val[0] = (u32)id;
+ buf->f_fsid.val[1] = (u32)(id >> 32);
unlock_kernel();