patch-1.3.28 linux/fs/isofs/rock.c

Next file: linux/fs/minix/bitmap.c
Previous file: linux/fs/isofs/inode.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v1.3.27/linux/fs/isofs/rock.c linux/fs/isofs/rock.c
@@ -306,14 +306,14 @@
 	  high = isonum_733(rr->u.PN.dev_high);
 	  low = isonum_733(rr->u.PN.dev_low);
 	  /*
-	   * The Rock Ridge standard specifies that if sizeof(dev_t) <=4,
+	   * The Rock Ridge standard specifies that if sizeof(dev_t) <= 4,
 	   * then the high field is unused, and the device number is completely
 	   * stored in the low field.  Some writers may ignore this subtlety,
 	   * and as a result we test to see if the entire device number is
 	   * stored in the low field, and use that.
 	   */
-	  if(MINOR(low) != low && high == 0) {
-	    inode->i_rdev = low;
+	  if((low & ~0xff) && high == 0) {
+	    inode->i_rdev = MKDEV(low >> 8, low & 0xff);
 	  } else {
 	    inode->i_rdev = MKDEV(high, low);
 	  }

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov with Sam's (original) version
of this