linux/fs/hfsplus
Vyacheslav Dubeyko bd2c003532 hfsplus: fix remount issue
Current implementation of HFS+ driver has small issue with remount
option.  Namely, for example, you are unable to remount from RO mode
into RW mode by means of command "mount -o remount,rw /dev/loop0
/mnt/hfsplus".  Trying to execute sequence of commands results in an
error message:

  mount /dev/loop0 /mnt/hfsplus
  mount -o remount,ro /dev/loop0 /mnt/hfsplus
  mount -o remount,rw /dev/loop0 /mnt/hfsplus

  mount: you must specify the filesystem type

  mount -t hfsplus -o remount,rw /dev/loop0 /mnt/hfsplus

  mount: /mnt/hfsplus not mounted or bad option

The reason of such issue is failure of mount syscall:

  mount("/dev/loop0", "/mnt/hfsplus", 0x2282a60, MS_MGC_VAL|MS_REMOUNT, NULL) = -1 EINVAL (Invalid argument)

Namely, hfsplus_parse_options_remount() method receives empty "input"
argument and return false in such case.  As a result, hfsplus_remount()
returns -EINVAL error code.

This patch fixes the issue by means of return true for the case of empty
"input" argument in hfsplus_parse_options_remount() method.

Signed-off-by: Vyacheslav Dubeyko <slava@dubeyko.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2014-03-04 07:55:49 -08:00
..
acl.h hfsplus: use generic posix ACL infrastructure 2014-01-25 23:58:20 -05:00
attributes.c hfs/hfsplus: convert printks to pr_<level> 2013-04-30 17:04:05 -07:00
bfind.c hfs/hfsplus: convert printks to pr_<level> 2013-04-30 17:04:05 -07:00
bitmap.c hfsplus: remove duplicated message prefix in hfsplus_block_free() 2013-04-30 17:04:05 -07:00
bnode.c hfs/hfsplus: convert printks to pr_<level> 2013-04-30 17:04:05 -07:00
brec.c hfs/hfsplus: convert printks to pr_<level> 2013-04-30 17:04:05 -07:00
btree.c hfsplus: add metadata file's clump size calculation functionality 2013-11-13 12:09:32 +09:00
catalog.c hfs/hfsplus: convert printks to pr_<level> 2013-04-30 17:04:05 -07:00
dir.c hfsplus: use xattr handlers for removexattr 2014-01-31 14:44:39 -05:00
extents.c hfsplus: add error propagation to __hfsplus_ext_write_extent() 2013-04-30 17:04:05 -07:00
hfsplus_fs.h hfsplus: implement attributes file creation functionality 2013-11-13 12:09:32 +09:00
hfsplus_raw.h hfsplus: implement attributes file's header node initialization code 2013-11-13 12:09:32 +09:00
inode.c hfsplus: use xattr handlers for removexattr 2014-01-31 14:44:39 -05:00
ioctl.c hfsplus: add support of manipulation by attributes file 2013-02-27 19:10:10 -08:00
Kconfig hfsplus: add necessary declarations for POSIX ACLs support 2013-09-11 15:59:00 -07:00
Makefile hfsplus: integrate POSIX ACLs support into driver 2013-09-11 15:59:01 -07:00
options.c hfsplus: fix remount issue 2014-03-04 07:55:49 -08:00
part_tbl.c hfsplus: ensure bio requests are not smaller than the hardware sectors 2011-07-22 16:37:44 +02:00
posix_acl.c hfsplus: use generic posix ACL infrastructure 2014-01-25 23:58:20 -05:00
super.c hfsplus: implement attributes file creation functionality 2013-11-13 12:09:32 +09:00
tables.c
unicode.c Don't pass inode to ->d_hash() and ->d_compare() 2013-06-29 12:57:36 +04:00
wrapper.c block: submit_bio_wait() conversions 2013-11-24 16:33:41 -07:00
xattr_security.c hfsplus: integrate POSIX ACLs support into driver 2013-09-11 15:59:01 -07:00
xattr_trusted.c hfsplus: rework functionality of getting, setting and deleting of extended attributes 2013-02-27 19:10:10 -08:00
xattr_user.c hfsplus: rework functionality of getting, setting and deleting of extended attributes 2013-02-27 19:10:10 -08:00
xattr.c hfsplus: use xattr handlers for removexattr 2014-01-31 14:44:39 -05:00
xattr.h hfsplus: use xattr handlers for removexattr 2014-01-31 14:44:39 -05:00