]> git.neil.brown.name Git - LaFS.git/commitdiff
Add some error checking to lafs_mount
authorNeilBrown <neilb@suse.de>
Mon, 7 Jun 2010 03:13:54 +0000 (13:13 +1000)
committerNeilBrown <neilb@suse.de>
Mon, 7 Jun 2010 03:23:30 +0000 (13:23 +1000)
i.e. just return the error code if there is one.

Signed-off-by: NeilBrown <neilb@suse.de>
roll.c

diff --git a/roll.c b/roll.c
index 37ecd21ec16d34d7fd6cbece324b0e3feb594256..5769cdd01d320fa9e634c5d3545ff68a55ea1471 100644 (file)
--- a/roll.c
+++ b/roll.c
@@ -541,6 +541,7 @@ lafs_mount(struct fs *fs)
        struct datablock *b;
        struct inode *root;
        struct inode *rootdir;
+       struct dentry *de;
        int err;
        int d;
 
@@ -570,9 +571,14 @@ lafs_mount(struct fs *fs)
        /* FIXME lots of error checking */
 
        rootdir = lafs_iget(fs->prime_sb, 2, 0);
-/* FIXME error check */
-       fs->prime_sb->s_root = d_alloc_root(rootdir);
-/* FIXME error check */
+       err = PTR_ERR(rootdir);
+       if (IS_ERR(rootdir))
+               goto err2;
+       de = d_alloc_root(rootdir);
+       err = PTR_ERR(de);
+       if (IS_ERR(de))
+               goto err2;
+       fs->prime_sb->s_root = de;
 
        fs->orphans = lafs_iget(fs->prime_sb, 8, 0);
        for (d = 0; d < fs->devices ; d++) {
@@ -591,5 +597,6 @@ lafs_mount(struct fs *fs)
 
  err:
        putdref(b, MKREF(mount));
+err2:
        return err;
 }